{"version":3,"sources":["webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/bootstrap-vue/esm/utils/css-escape.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/once.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/is-promise/index.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/fuzzysearch/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-invalid-feedback.js","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/index.vue?0230","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/components/Filters.vue?3702","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/useSetup.js","webpack:///src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/components/Filters.vue","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/components/Filters.vue?bf4e","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/components/Filters.vue","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/components/DataTable.vue?6b17","webpack:///src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/components/DataTable.vue","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/components/DataTable.vue?54b0","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/components/DataTable.vue","webpack:///src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/index.vue","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/index.vue?71f7","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/index.vue","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/bootstrap-vue/esm/directives/toggle/toggle.js","webpack:///./src/services/api/HoSoCanBoCongChuc/CanBoCongChucService.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/last.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/constants/classes.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/helpers/bv-collapse.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./src/services/api/DefaultTemplate/DonViService.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/form-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-valid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-group/form-group.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/model.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/helpers/mixin-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select-option.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select-option-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./src/services/api/DefaultTemplate/PhongBanService.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-text.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/index.vue?5a4e","webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./src/views/HoSoCanBoCongChuc/canbocongchuc/tracuuthongtin/components/Filters.vue?74e8","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./src/@core/components/b-card-actions/BCardActions.vue?1584","webpack:///./node_modules/lodash/noop.js","webpack:///./src/userlibs/globalLibs.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.cjs.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/watch-size/index.es.mjs","webpack:///./node_modules/lodash/before.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/vue-good-table/dist/vue-good-table.esm.js","webpack:///./src/@core/components/b-card-actions/BCardActions.vue?7537","webpack:///./src/@core/components/b-card-actions/BCardActionsContainer.vue?d993","webpack:///src/@core/components/b-card-actions/BCardActionsContainer.vue","webpack:///./src/@core/components/b-card-actions/BCardActionsContainer.vue?784d","webpack:///./src/@core/components/b-card-actions/BCardActionsContainer.vue","webpack:///src/@core/components/b-card-actions/BCardActions.vue","webpack:///./src/@core/components/b-card-actions/BCardActions.vue?791a","webpack:///./src/@core/components/b-card-actions/BCardActions.vue","webpack:///./node_modules/lodash/isSymbol.js"],"names":["Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","module","exports","escapeChar","cssEscape","length","firstCharCode","charCodeAt","split","reduce","char","index","charCode","concat","_nonIterableSpread","TypeError","__esModule","kFormatter","num","toFixed","title","replacer","str","arr","capitalizedArray","forEach","word","capitalized","charAt","toUpperCase","slice","push","join","avatarText","nameArray","map","last2","formatDate","formatting","month","day","year","Intl","DateTimeFormat","format","Date","formatDateToMonthShort","toTimeForCurrentDay","date","isToday","hour","minute","filterTags","replace","toInteger","requireObjectCoercible","repeat","count","String","this","n","Infinity","RangeError","_iterableToArray","iter","iterator","Array","from","isObjectLike","isObject","type","before","once","func","arrayLikeToArray","require","_arrayWithoutHoles","isArray","isPromise","obj","then","default","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","i","hasListenerMixin","extend","methods","hasListener","name","$listeners","$events","_events","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","target","arguments","source","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","LIGHT","DARK","variant","BTr","mixins","attrs","listeners","provide","bvTableTr","inject","bvTableRowGroup","inheritAttrs","props","computed","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","isDark","isStacked","isResponsive","isStickyHeader","hasStickyHeader","tableVariant","headVariant","footVariant","isRowDark","trClasses","trAttrs","role","bvAttrs","render","h","class","on","bvListeners","normalizeSlot","bottomRowMixin","renderBottomRow","fields","computedFields","stacked","tbodyTrClass","tbodyTrAttr","$createElement","hasNormalizedSlot","staticClass","columns","colspan","rowspan","stackedHeading","stickyColumn","BTd","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","scope","$content","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","data","localBusy","computedBusy","watch","newValue","oldValue","$emit","stopIfBusy","event","renderBusy","caption","captionHtml","captionMixin","captionId","safeId","renderCaption","$caption","hasCaptionSlot","id","domProps","html","colgroupMixin","renderColgroup","$colgroup","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","stringifyObjectValues","sort","k","v","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","EVENT_FILTER","row","ignoreFields","includeFields","fieldsObj","formattedRow","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","constructor","test","len","arr2","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","identity","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","deep","handler","newCriteria","_this","timeout","setTimeout","_ref","created","_this2","$nextTick","Boolean","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","RegExp","lastIndex","computedFieldsObj","label","origFields","f","sample","memo","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","primaryKey","itemsMixin","$parent","paginatedItems","sortedItems","context","sortBy","localSortBy","sortDesc","localSortDesc","perPage","math","currentPage","apiUrl","mounted","getFieldFormatter","paginationMixin","localPaging","noProviderPaging","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","noProviderSorting","providerMixin","providerTriggerContext","ctx","_providerUpdate","listenOnRoot","refresh","$off","$on","clearSelected","_providerSetLocal","emitOnRoot","message","_props","_watch","SELECT_MODES","noSelectOnClick","selectMode","selectable","selectedVariant","selectableMixin","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","some","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","setSelectionHandlers","_selectedRows","idx","beforeMount","selectRow","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","dark","selectableRowAttrs","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","a","b","_ref$sortBy","_ref$formatter","_ref$locale","locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","get","bb","localeCompare","MODEL_PROP_NAME_SORT_BY","MODEL_EVENT_NAME_SORT_BY","MODEL_PROP_NAME_SORT_DESC","MODEL_EVENT_NAME_SORT_DESC","SORT_DIRECTION_ASC","SORT_DIRECTION_DESC","SORT_DIRECTION_LAST","SORT_DIRECTIONS","labelSortAsc","labelSortClear","labelSortDesc","noFooterSorting","noLocalSorting","noSortReset","numeric","sortingMixin","localSorting","isSortable","sortable","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","usage","sortByFormatted","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","stackedMixin","isStackedAlways","stackedTableClasses","bordered","borderless","captionTop","fixed","hover","noBorderCollapse","outlined","responsive","small","stickyHeader","striped","tableClass","tableRendererMixin","bvTable","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","border","tableAttrs","adb","ariaAttrs","rowCount","renderThead","renderTbody","renderTfoot","$table","style","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","TABLE_TAG_NAMES","el","disabled","indexOf","tagName","labelFor","input","document","sel","trim","containsNode","BTh","extends","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","isRowHeader","formatted","cellTag","cellVariant","tdClass","thAttr","tdAttr","slotScope","unformatted","toggleDetails","detailsShowing","rowSelected","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","rowShowDetails","hasRowClickHandler","$rows","detailsId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","tabindex","mouseenter","mouseleave","ref","refInFor","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","$refs","tbody","$el","trs","tr","children","getTbodyTrIndex","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTopRow","$busy","cache","defaultSlotName","lowercaseSlotName","toLowerCase","handlers","auxclick","contextmenu","dblclick","click","keydown","$tbody","$props","BTfoot","tfootClasses","tfootAttrs","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","BThead","theadClasses","theadAttrs","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","noop","makeCell","labelHtml","ariaLabel","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","topRowMixin","BTable","objectToString","freeGlobal","freeSelf","self","root","Function","fuzzysearch","needle","haystack","tlen","qlen","outer","j","nch","ariaLive","forceShow","state","tooltip","BFormInvalidFeedback","functional","show","_vm","_h","_c","_self","staticStyle","dataTableIsLoaded","donVis","fetchData","dataTable","totalList","dataMeta","pagination","perpage","searchquery","staticRenderFns","model","formfilters","callback","$$v","expression","normalizer","formatDonVis","onChangeDonVi","$store","appConfig","isRTL","listPhongBan","val","isLoaded","DT_DM_CHUCVU","scopedSlots","_u","_v","_s","DM_NGACHCHUCDANH","option","code","DM_BACLUONG","DM_LOAIHOSO","DM_DANTOC","DM_GIOITINH","DM_TONGIAO","DM_GIAODUCPHOTHONG","DM_TRINHDONGOAINGU","DM_TRINHDOTINHOC","DM_TRINHDODAOTAO","DM_TRINHDOLLCT","DM_TRINHDOQLNN","directives","rawName","modifiers","showSearch","getters","onSearch","useDonViService","toast","useToast","useRouter","router","route","refUserListTable","perPageOptions","searchQuery","isSortDirDesc","getDataList","getList","response","isError","component","ToastificationContent","icon","text","totalRows","getDonVi","GetTree","components","BButton","BRow","BCol","BCardActions","BCardText","vSelect","BCollapse","BCard","Treeselect","BFormGroup","BFormInput","Ripple","fnGetBacLuong","fnGetGioiTinh","fnGetDanToc","fnGetTonGiao","fnGetTinhTrangHonNhan","fnGetNgachChucDanh","fnGetChucVu","fnGetGiaoDucPhoThong","fnGetTrinhDoDaoTao","fnGetTrinhDoLyLuanChinhTri","dispatch","fnGetTrinhDoQuanLyNhaNuoc","fnGetTrinhDoNgoaiNgu","fnGetTrinhDoTinHoc","fnGetNgoaiNgu","fnGetTrangThaiHoSo","fnGetLoaiHoSo","node","instanceId","ten","maCoQuan","PhongBanGetList","isShow","DM_TINHTRANGHONNHAN","DM_NGOAINGU","DM_TRANGTHAIHOSO","required","setup","dataFilters","otherDataFilter","phongBans","showPerPage","$event","url","avatar","resolveUserRoleVariant","unitRole","params","proxy","email","resolveUserStatusVariant","_f","_e","to","BCardBody","VueGoodTable","BPagination","BFormSelect","BDropdown","BDropdownItem","BAvatar","BMedia","BLink","BBadge","isWait","pageLength","dir","searchTerm","search","console","useSetup","refetchData","Filters","DataTable","headerData","loadFilter","noBody","rightAlign","verticalAlign","slots","$children","$slots","$scopedSlots","$aside","right","nullTag","undefinedTag","baseGetTag","CLASS_BV_TOGGLE_COLLAPSED","CLASS_BV_TOGGLE_NOT_COLLAPSED","BV_BASE","BV_TOGGLE_ROOT_HANDLER","BV_TOGGLE_CLICK_HANDLER","BV_TOGGLE_STATE","BV_TOGGLE_TARGETS","STRING_FALSE","STRING_TRUE","ATTR_ARIA_CONTROLS","ATTR_ARIA_EXPANDED","ATTR_ROLE","ATTR_TABINDEX","STYLE_OVERFLOW_ANCHOR","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","KEYDOWN_KEY_CODES","isNonStandardTag","getTargets","arg","targets","href","t","removeClickListener","addClickListener","vnode","$root","removeRootListeners","addRootListeners","setToggleState","resetProp","handleUpdate","binding","VBToggle","bind","componentUpdated","updated","unbind","BaseService","http","axios","buildHeaders","buildEndpoint","GetPagingParams","postdata","GetCanBoCongChucDaXoa","GetCanBoCongChucKhoiDang","GetCanBoCongChucNghiViec","GetPagingParamsSync","CanBoCongChucTraCuu","CanBoCongChucGetByIddv","CanBoCongChucGetInfo","GetInfoExport","GetInfoByUsername","CanBoCongChucCreate","CanBoCongChucUpdate","CanBoCongChucDelete","UpdateThongTinChung","UpdateThongTinKhac","UpdateBienCheHopDong","UpdateLuong","UpdateDaoTaoBoiDuong","UpdateLichSuBanThan","UpdateNhanXetDanhGia","UpdateThuNhapVaDatSanXuat","CanBoCongChucCreateNghiViec","CanBoCongChucCreateKhoiDang","CanBoCongChucUpdateNghiViec","CanBoCongChucDeleteKhoiDang","CanBoCongChucKhoiPhucDelete","ResetAvatarUser","classof","now","last","arrayWithoutHoles","iterableToArray","nonIterableSpread","toFinite","remainder","reWhitespace","trimmedEndIndex","string","CLASS_NAME_SHOW","scrollHeight","height","TRANSITION_PROPS","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","TRANSITION_HANDLERS","enter","afterEnter","leave","afterLeave","BVCollapse","appear","ROOT_EVENT_NAME_ACCORDION","accordion","isNav","transitioning","classObject","collapse","visible","close","emitState","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","emitSync","deactivated","activated","window","toggle","onEnter","onAfterEnter","onLeave","onAfterLeave","checkDisplayBlock","restore","isBlock","display","clickHandler","openedId","openAccordion","isThis","global","toNumber","INFINITY","MAX_INTEGER","sign","constant","BMediaAside","align","GetTreeAll","GetById","DonViCreate","DonViUpdate","DonViDelete","BMediaBody","BFormRow","BFormValidFeedback","INPUTS","INPUT_SELECTOR","LEGEND_INTERACTIVE_ELEMENTS","breakpoint","description","feedbackAriaLive","invalidFeedback","labelClass","labelSize","labelSrOnly","validFeedback","validated","ariaDescribedby","contentColProps","getColProps","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","updateAriaDescribedby","prefix","propValue","$input","content","attr","newIds","oldIds","ids","onLegendClick","inputs","computedState","isFieldset","$label","labelContent","labelId","labelTag","for","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","stateClass","computedAriaInvalid","OPTIONS_OBJECT_DEPRECATED_MSG","disabledField","htmlField","options","textField","valueField","formOptionsMixin","formOptions","normalizeOptions","normalizeOption","$options","labelField","optionsField","optionsMixin","BFormSelectOption","BFormSelectOptionGroup","ariaInvalid","multiple","selectSize","localValue","computedSelectSize","plain","inputClass","size","focus","blur","onChange","selectedValue","_value","form","change","stableSort","compareFn","reTrimStart","baseTrim","PhongBanCreate","PhongBanUpdate","PhongBanDelete","inline","textVariant","BFormText","BSpinner","_class","POSITION_COVER","top","left","bottom","bgColor","noCenter","noFade","noWrap","opacity","number","overlayTag","rounded","spinnerSmall","spinnerType","spinnerVariant","wrapTag","zIndex","BOverlay","computedRounded","computedVariant","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","transform","_iterableToArrayLimit","_i","_arr","_n","_d","next","done","err","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","debounce","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","$","thisNumberValue","fails","nativeToFixed","floor","pow","x","acc","log","x2","FORCED","proto","forced","fractionDigits","z","fractDigits","multiply","c","c2","divide","dataToString","s","unGroup","resList","tplObj","JSON","parse","stringify","list","unGroupList","_arrayWithHoles","_nonIterableRest","modules","installedModules","__webpack_require__","moduleId","l","m","d","getter","r","mode","ns","create","property","p","__webpack_exports__","slicedToArray_","slicedToArray_default","toConsumableArray_","toConsumableArray_default","defineProperty_","defineProperty_default","external_fuzzysearch_","external_fuzzysearch_default","noop_","noop_default","warning_warning","onLeftClick","mouseDownHandler","evt","button","_len","_key","scrollIntoView","$scrollingEl","$focusedEl","scrollingReact","getBoundingClientRect","focusedRect","overScroll","offsetHeight","scrollTop","offsetTop","clientHeight","intervalId","debounce_","debounce_default","external_watch_size_","external_watch_size_default","removeFromArray","elem","splice","registered","INTERVAL_DURATION","run","setInterval","stop","clearInterval","listener","lastWidth","lastHeight","width","offsetWidth","watchSizeForIE9","unwatch","watchSize","isIE9","documentMode","locked","wrappedListener","implementation","removeSizeWatcher","findScrollParents","$scrollParents","parentNode","nodeName","nodeType","ELEMENT_NODE","isScrollElment","_getComputedStyle","getComputedStyle","overflow","overflowX","overflowY","setupResizeAndScrollEventListeners","addEventListener","passive","scrollParent","removeEventListener","$scrollParent","isNaN_isNaN","external_is_promise_","external_is_promise_default","once_","once_default","identity_","identity_default","constant_","constant_default","createMap","typeof_","typeof_default","isPlainObject","getPrototypeOf","copy","deepExtend","last_","last_default","includes","arrOrStr","find","predicate","quickDiff","arrA","arrB","NO_PARENT_NODE","UNCHECKED","INDETERMINATE","CHECKED","ALL_CHILDREN","ALL_DESCENDANTS","LEAF_CHILDREN","LEAF_DESCENDANTS","LOAD_ROOT_OPTIONS","LOAD_CHILDREN_OPTIONS","ASYNC_SEARCH","ALL","BRANCH_PRIORITY","LEAF_PRIORITY","ALL_WITH_INDETERMINATE","ORDER_SELECTED","LEVEL","INDEX","KEY_CODES","BACKSPACE","ENTER","ESCAPE","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","DELETE","INPUT_DEBOUNCE_DELAY","MIN_INPUT_WIDTH","MENU_BUFFER","sortValueByIndex","level","sortValueByLevel","createAsyncOptionsStates","isLoading","loadingError","stringifyOptionPropValue","match","enableFuzzyMatch","getErrorMessage","treeselectMixin","instance","allowClearingDisabled","allowSelectingDisabledDescendants","alwaysOpen","appendToBody","async","autoFocus","autoLoadRootOptions","autoDeselectAncestors","autoDeselectDescendants","autoSelectAncestors","autoSelectDescendants","backspaceRemoves","beforeClearAll","branchNodesFirst","cacheOptions","clearable","clearAllText","clearOnSelect","clearValueText","closeOnSelect","defaultExpandLevel","Number","defaultOptions","deleteRemoves","delimiter","flattenSearchResults","disableBranchNodes","disableFuzzyMatching","flat","joinValues","limit","limitText","loadingText","loadOptions","matchKeys","noChildrenText","noOptionsText","noResultsText","openDirection","validator","acceptableValues","openOnClick","openOnFocus","placeholder","retryText","retryTitle","searchable","searchNested","searchPromptText","showCount","showCountOf","showCountOnSearch","sortValueBy","valueConsistsOf","valueFormat","trigger","isFocused","menu","isOpen","current","lastScrollPosition","placement","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","localSearch","active","noResults","countMap","remoteSearch","selectedNodes","getNode","internalValue","single","isRootNode","isSelected","isLeaf","_internalValue","indeterminateNodeIds","selectedNode","ancestors","ancestor","hasValue","visibleOptionIds","traverseAllNodesByIndex","shouldOptionBeIncludedInSearchResult","isBranch","shouldExpand","hasVisibleOptions","showCountOnSearchComputed","hasBranchNodes","rootNode","shouldFlattenOptions","openMenu","closeMenu","initialize","hasChanged","getValue","getInstanceId","buildForestState","immediate","handleRemoteSearch","handleLocalSearch","nodeIdsFromValue","fixSelectedNodeIds","verifyProps","propNames","propName","resetFlags","_blurOnSelect","getRemoteSearchEntry","prevNodeMap","keepDataOfSelectedNodes","normalize","_this4","rawNodes","raw","nodeId","createFallbackNode","extractNodeFromValue","enhancedNormalizer","fallbackNode","isFallbackNode","isDisabled","isNew","_this5","_this6","defaultNode","valueArray","matched","nodeIdListOfPrevValue","_this7","nextSelectedNodeIds","traverseDescendantsBFS","descendant","queue","_map","_queue","_nodeId","_node","_this8","currNode","traverseDescendantsDFS","_this9","child","traverseAllNodesDFS","_this10","walk","toggleClickOutsideEvent","enabled","handleClickOutside","getValueContainer","control","getInput","focusInput","blurInput","handleMouseDown","preventDefault","stopPropagation","isClickedOnValueContainer","contains","wrapper","_this11","resetHighlightedOptionWhenNecessary","_this11$$set","isExpandedOnSearch","showAllChildrenOnSearch","isMatched","hasMatchedDescendants","lowerCasedSearchQuery","toLocaleLowerCase","splitSearchQuery","every","filterValue","nestedSearchLabel","matchKey","lowerCased","_this12","entry","callLoadOptionsProp","action","isPending","start","succeed","fail","end","_this13","$watch","isExpanded","shouldShowOptionInMenu","getControl","getMenu","portal","portalTarget","$menu","setCurrentHighlightedOption","_this14","scroll","prev","isHighlighted","scrollToOption","$option","querySelector","forceReset","highlightFirstOption","first","highlightPrevOption","highlightLastOption","highlightNextOption","resetSearchQuery","saveMenuScrollPosition","restoreMenuScrollPosition","loadRootOptions","toggleMenu","toggleExpanded","nextState","childrenStates","loadChildrenOptions","_this15","selectedNodeId","ancestorNode","nodes","_this16","_ref2","checkDuplication","verifyNodeShape","isDefaultExpanded","normalized","_this16$$set","hasDisabledDescendants","branchNodes","leafNodes","_this17","_this18","_ref3","catch","error","_this19","select","clear","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","destroyed","stringifyValue","HiddenFields_render","HiddenFieldsvue_type_script_lang_js_","_","injections","stringifiedValues","stringifiedValue","components_HiddenFieldsvue_type_script_lang_js_","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","__file","Input_render","Input_staticRenderFns","HiddenFields","external_babel_helper_vue_jsx_merge_props_","external_babel_helper_vue_jsx_merge_props_default","keysThatRequireMenuBeingOpen","Inputvue_type_script_lang_js_","inputWidth","needAutoSize","inputStyle","updateInputWidth","debouncedCallback","updateSearchQuery","onInput","onFocus","onBlur","activeElement","onKeyDown","altKey","_current","_current2","onMouseDown","renderInputContainer","renderInput","renderSizer","autocomplete","sizer","scrollWidth","components_Inputvue_type_script_lang_js_","Input_component","Placeholder_render","Placeholder_staticRenderFns","Input","Placeholdervue_type_script_lang_js_","placeholderClass","components_Placeholdervue_type_script_lang_js_","Placeholder_component","SingleValue_render","SingleValue_staticRenderFns","Placeholder","SingleValuevue_type_script_lang_js_","renderSingleValueLabel","customValueLabelRenderer","renderValueContainer","shouldShowValue","components_SingleValuevue_type_script_lang_js_","SingleValue_component","SingleValue","Deletevue_type_template_id_364b6320_render","xmlns","viewBox","Deletevue_type_template_id_364b6320_staticRenderFns","_withStripped","Deletevue_type_script_lang_js_","icons_Deletevue_type_script_lang_js_","Delete_component","MultiValueItem_render","MultiValueItem_staticRenderFns","Delete","MultiValueItemvue_type_script_lang_js_","itemClass","labelRenderer","components_MultiValueItemvue_type_script_lang_js_","MultiValueItem_component","MultiValue_render","MultiValue_staticRenderFns","MultiValueItem","MultiValuevue_type_script_lang_js_","renderMultiValueItems","renderExceedLimitTip","transitionGroupProps","components_MultiValuevue_type_script_lang_js_","MultiValue_component","MultiValue","Arrowvue_type_template_id_11186cd4_render","Arrowvue_type_template_id_11186cd4_staticRenderFns","Arrowvue_type_script_lang_js_","icons_Arrowvue_type_script_lang_js_","Arrow_component","Control_render","Control_staticRenderFns","Arrow","Controlvue_type_script_lang_js_","shouldShowX","hasUndisabledValue","shouldShowArrow","renderX","handleMouseDownOnX","renderArrow","arrowClass","handleMouseDownOnArrow","shouldClear","ValueContainer","components_Controlvue_type_script_lang_js_","Control_component","Tip_render","Tip_staticRenderFns","Control","Tipvue_type_script_lang_js_","components_Tipvue_type_script_lang_js_","Tip_component","arrowPlaceholder","checkMark","minusMark","Option_render","Option_staticRenderFns","Tip","Option","shouldShow","renderOption","optionClass","handleMouseEnterOption","renderLabelContainer","renderCheckboxContainer","renderCheckbox","renderLabel","renderSubOptionsList","renderSubOptions","renderNoChildrenTip","renderLoadingChildrenTip","renderLoadingChildrenErrorTip","transitionProps","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","NaN","labelClassName","countClassName","customLabelRenderer","childNode","handleMouseDownOnRetry","currentTarget","indentLevel","listItemClass","Optionvue_type_script_lang_js_","components_Optionvue_type_script_lang_js_","Option_component","Menu_render","Menu_staticRenderFns","components_Option","directionMap","above","below","Menuvue_type_script_lang_js_","menuStyle","menuContainerStyle","onMenuOpen","onMenuClose","menuSizeWatcher","menuResizeAndScrollEventListeners","renderMenu","renderBeforeList","renderAsyncSearchMenuInner","renderLocalSearchMenuInner","renderNormalMenuInner","renderAfterList","beforeListRenderer","afterListRenderer","renderLoadingOptionsTip","renderLoadingRootOptionsErrorTip","renderNoAvailableOptionsTip","renderOptionList","renderNoResultsTip","shouldShowSearchPromptTip","shouldShowNoResultsTip","renderSearchPromptTip","renderAsyncSearchLoadingErrorTip","adjustMenuOpenDirection","setupMenuSizeWatcher","setupMenuResizeAndScrollEventListeners","removeMenuSizeWatcher","removeMenuResizeAndScrollEventListeners","$control","menuRect","controlRect","menuHeight","viewportHeight","innerHeight","spaceAbove","spaceBelow","isControlInViewport","hasEnoughSpaceBelow","hasEnoughSpaceAbove","remove","components_Menuvue_type_script_lang_js_","Menu_component","Menu","external_vue_","external_vue_default","MenuPortalvue_type_script_lang_js_ownKeys","MenuPortalvue_type_script_lang_js_objectSpread","MenuPortal_render","MenuPortal_staticRenderFns","PortalTarget","setupHandlers","removeHandlers","updateMenuContainerOffset","controlResizeAndScrollEventListeners","controlSizeWatcher","updateWidth","setupControlResizeAndScrollEventListeners","setupControlSizeWatcher","removeControlResizeAndScrollEventListeners","removeControlSizeWatcher","$portalTarget","portalTargetRect","offsetY","round","transformVariations","body","portalTargetClass","wrapperClass","portalTargetStyle","MenuPortalvue_type_script_lang_js_","teardown","createElement","appendChild","removeChild","innerHTML","$destroy","components_MenuPortalvue_type_script_lang_js_","MenuPortal_component","Treeselect_render","Treeselect_staticRenderFns","MenuPortal","Treeselectvue_type_script_lang_js_","components_Treeselectvue_type_script_lang_js_","Treeselect_component","VERSION","today","getDate","getMonth","getFullYear","isDynamicRouteActive","resolve","resolvedRoute","path","currentRoute","vm","getCurrentInstance","reactive","$route","toRefs","$router","textTag","element","expand","shrink","expandChild","shrinkChild","cssText","scrollLeft","linkProps","pill","link","_typeof","MAX_SAFE_INTEGER","argsTag","funcTag","genTag","reIsUint","arrayEach","iteratee","baseTimes","overArg","propertyIsEnumerable","nativeKeys","arrayLikeKeys","inherited","isArguments","skipIndexes","isIndex","baseEach","createBaseEach","baseForOwn","baseFor","createBaseFor","baseKeys","isPrototype","eachFunc","fromRight","collection","isArrayLike","iterable","keysFunc","Ctor","isArrayLikeObject","isLength","isFunction","lodash_foreach","MAX_SAFE_INTEGER$1","argsTag$1","funcTag$1","genTag$1","reIsUint$1","baseTimes$1","overArg$1","objectProto$1","hasOwnProperty$1","objectToString$1","propertyIsEnumerable$1","nativeKeys$1","nonEnumShadows","arrayLikeKeys$1","isArray$1","isArguments$1","isIndex$1","assignValue","objValue","eq","baseKeys$1","isPrototype$1","baseRest","otherArgs","copyObject","customizer","createAssigner","assigner","sources","guard","isIterateeCall","isObject$1","isArrayLike$1","isArrayLikeObject$1","isLength$1","isFunction$1","isObjectLike$1","assign","keys$1","lodash_assign","commonjsGlobal","globalThis","createCommonjsModule","lodash_clonedeep","LARGE_ARRAY_SIZE","HASH_UNDEFINED","arrayTag","boolTag","dateTag","errorTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reRegExpChar","reFlags","reIsHostCtor","cloneableTags","freeExports","freeModule","moduleExports","addMapEntry","pair","set","addSetEntry","arrayPush","values","offset","arrayReduce","accumulator","initAccum","isHostObject","mapToArray","setToArray","arrayProto","funcProto","coreJsData","maskSrcKey","uid","exec","IE_PROTO","funcToString","reIsNative","Buffer","Uint8Array","getPrototype","objectCreate","nativeGetSymbols","nativeIsBuffer","isBuffer","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","entries","hashClear","__data__","hashDelete","has","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","pop","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","baseAssign","baseClone","isDeep","isFull","stack","isArr","initCloneArray","copyArray","getTag","isFunc","cloneBuffer","initCloneObject","copySymbols","initCloneByTag","getAllKeys","subValue","baseCreate","baseGetAllKeys","symbolsFunc","baseIsNative","isMasked","buffer","cloneArrayBuffer","arrayBuffer","byteLength","cloneDataView","dataView","byteOffset","cloneMap","cloneFunc","cloneRegExp","regexp","cloneSet","cloneSymbol","symbol","cloneTypedArray","typedArray","getSymbols","isKeyable","stubArray","cloneDeep","ArrayBuffer","ctorString","stubFalse","lodash_filter","UNORDERED_COMPARE_FLAG","PARTIAL_COMPARE_FLAG","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","typedArrayTags","freeProcess","process","nodeUtil","nodeIsTypedArray","isTypedArray","arrayFilter","resIndex","arraySome","baseProperty","baseUnary","symbolToString","SetCache","setCacheAdd","setCacheHas","baseFilter","baseGet","isKey","castPath","toKey","baseHasIn","baseIsEqual","bitmask","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsMatch","matchData","noCustomizer","srcValue","baseIsTypedArray","baseIteratee","baseMatchesProperty","baseMatches","getMatchData","matchesStrictComparable","isStrictComparable","hasIn","basePropertyDeep","baseToString","stringToPath","isPartial","arrLength","othLength","seen","arrValue","othValue","compared","othIndex","convert","objProps","objLength","othProps","skipCtor","objCtor","othCtor","hasPath","hasFunc","memoize","quote","resolver","memoized","Cache","lodash_isequal","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","asyncTag","proxyTag","cacheHas","isArg","isBuff","isType","baseIsArguments","isEqual","diacritics","diacriticless","searchChar","foundChar","indexChar","escapeRegExp","defaultType","filterPredicate","rowval","skipDiacritics","fromDropdown","rowValue","compare","y","cook","script","lastPage","totalRecords","ofText","pageText","pageInfo","changePage","isNaN","template","isFunctionalTemplate","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_k","__vue_staticRenderFns__","__vue_inject_styles__","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_component__","DEFAULT_ROWS_PER_PAGE_DROPDOWN","script$1","styleClass","total","rtl","customRowsPerPageDropdown","paginateDropdownAllowAll","nextText","prevText","rowsPerPageText","allText","prevPage","currentPerPage","rowsPerPageOptions","handlePerPage","perPageChanged","pagesCount","quotient","paginatedInfo","nextIsPossible","prevIsPossible","pageNumber","emit","pageChanged","nextPage","previousPage","found","unshift","__vue_script__$1","__vue_render__$1","$$selectedVal","_l","__vue_staticRenderFns__$1","__vue_inject_styles__$1","__vue_scope_id__$1","__vue_module_identifier__$1","__vue_is_functional_template__$1","__vue_component__$1","script$2","globalSearchTerm","showControlBar","searchEnabled","updateValue","entered","__vue_script__$2","__vue_render__$2","globalSearchPlaceholder","_t","__vue_staticRenderFns__$2","__vue_inject_styles__$2","__vue_scope_id__$2","__vue_module_identifier__$2","__vue_is_functional_template__$2","__vue_component__$2","script$3","populateInitialFilters","columnFilters","timer","hasFilterRow","col","filterOptions","reset","emitEvent","isFilterable","isDropdown","filterDropdownItems","isDropdownObjects","isDropdownArray","getPlaceholder","updateFiltersOnEnter","updateFiltersImmediately","updateFiltersOnKeyup","updateFilters","updateSlotFilter","fieldToFilter","slotFilterField","formatValue","__vue_script__$3","__vue_render__$3","lineNumbers","hidden","__vue_staticRenderFns__$3","__vue_inject_styles__$3","__vue_scope_id__$3","__vue_module_identifier__$3","__vue_is_functional_template__$3","__vue_component__$3","DEFAULT_SORT_TYPE","getColumnFirstSortType","firstSortType","getCurrentPrimarySort","sortArray","getNextSort","currentSort","getIndex","primarySort","currentPrimarySort","secondarySort","script$4","allSelected","allSelectedIndeterminate","typedColumns","getClasses","tableRef","paginated","setColumnStyles","checkBoxThStyle","lineNumberThStyle","columnStyles","sorts","toggleSelectAll","isSortableColumn","setInitialSort","getColumnSort","getHeaderClasses","classes","filterRows","getWidthStyle","dom","cellStyle","colStyles","skip","cell","rows","cells","minWidth","maxWidth","getColumnStyle","styleObject","__vue_script__$4","__vue_render__$4","__vue_staticRenderFns__$4","__vue_inject_styles__$4","__vue_scope_id__$4","__vue_module_identifier__$4","__vue_is_functional_template__$4","__vue_component__$4","script$5","headerRow","selectAllByGroup","collapsable","collectFormatted","fullColspan","groupIndex","groupChildObject","vgtSelected","columnCollapsable","currentIndex","toggleSelectGroup","checked","__vue_script__$5","__vue_render__$5","vgtIsExpanded","__vue_staticRenderFns__$5","__vue_inject_styles__$5","__vue_scope_id__$5","__vue_module_identifier__$5","__vue_is_functional_template__$5","__vue_component__$5","toDate","argument","argStr","getTime","Error","dirtyNumber","ceil","addMilliseconds","dirtyDate","dirtyAmount","timestamp","amount","MILLISECONDS_IN_MINUTE","getTimezoneOffsetInMilliseconds","baseTimezoneOffset","getTimezoneOffset","setSeconds","millisecondsPartOfTimezoneOffset","compareAsc","dirtyDateLeft","dirtyDateRight","dateLeft","dateRight","diff","isValid","formatDistanceLocale","lessThanXSeconds","one","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","formatDistance","token","addSuffix","comparison","buildFormatLongFn","dirtyOptions","defaultWidth","formats","dateFormats","full","long","medium","short","timeFormats","dateTimeFormats","formatLong","dateTime","formatRelativeLocale","lastWeek","yesterday","tomorrow","nextWeek","formatRelative","_date","_baseDate","_options","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","eraValues","narrow","abbreviated","wide","quarterValues","monthValues","dayValues","dayPeriodValues","am","pm","midnight","noon","morning","afternoon","evening","night","formattingDayPeriodValues","ordinalNumber","_dirtyOptions","rem100","localize","era","quarter","dayPeriod","buildMatchPatternFn","dirtyString","matchResult","matchPattern","matchedString","parseResult","parsePattern","valueCallback","rest","buildMatchFn","matchPatterns","defaultMatchWidth","parsePatterns","defaultParseWidth","findIndex","findKey","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","any","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","weekStartsOn","firstWeekContainsDate","subMilliseconds","addLeadingZeros","targetLength","output","abs","formatters","signedYear","getUTCFullYear","M","getUTCMonth","getUTCDate","dayPeriodEnumValue","getUTCHours","H","getUTCMinutes","getUTCSeconds","S","numberOfDigits","milliseconds","getUTCMilliseconds","fractionalSeconds","MILLISECONDS_IN_DAY","getUTCDayOfYear","setUTCMonth","setUTCHours","startOfYearTimestamp","difference","startOfUTCISOWeek","getUTCDay","setUTCDate","getUTCISOWeekYear","fourthOfJanuaryOfNextYear","setUTCFullYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfUTCISOWeekYear","fourthOfJanuary","MILLISECONDS_IN_WEEK","getUTCISOWeek","startOfUTCWeek","localeWeekStartsOn","defaultWeekStartsOn","getUTCWeekYear","localeFirstWeekContainsDate","defaultFirstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfUTCWeekYear","firstWeek","MILLISECONDS_IN_WEEK$1","getUTCWeek","dayPeriodEnum","formatters$1","G","unit","Y","signedWeekYear","weekYear","twoDigitYear","R","isoWeekYear","u","Q","q","L","w","week","I","isoWeek","D","dayOfYear","E","dayOfWeek","localDayOfWeek","isoDayOfWeek","hours","B","K","X","_localize","originalDate","_originalDate","timezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","O","formatTimezoneShort","T","dirtyDelimiter","absOffset","minutes","dateLongFormatter","timeLongFormatter","dateTimeLongFormatter","dateTimeFormat","datePattern","timePattern","longFormatters","P","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","throwProtectedError","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","formatStr","locale$1","utcDate","formatterOptions","substring","firstCharacter","longFormatter","cleanEscapedString","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","assign$1","dirtyObject","setUTCDay","dirtyDay","currentDay","dayIndex","setUTCISODay","setUTCISOWeek","dirtyISOWeek","setUTCWeek","dirtyWeek","MILLISECONDS_IN_HOUR","MILLISECONDS_IN_MINUTE$1","MILLISECONDS_IN_SECOND","numericPatterns","hour23h","hour24h","hour11h","hour12h","second","singleDigit","twoDigits","threeDigits","fourDigits","anyDigitsSigned","singleDigitSigned","twoDigitsSigned","threeDigitsSigned","fourDigitsSigned","timezonePatterns","basicOptionalMinutes","basic","basicOptionalSeconds","extended","extendedOptionalSeconds","parseNumericPattern","parseTimezonePattern","seconds","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","enumValue","normalizeTwoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","rangeEndCentury","isPreviousCentury","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","isLeapYearIndex","parsers","priority","flags","incompatibleTokens","isTwoDigitYear","validate","normalizedTwoDigitYear","_match","_flags","firstWeekOfYear","isLeapYear","wholeWeekDays","isPM","setUTCMinutes","setUTCSeconds","setUTCMilliseconds","timestampIsSet","_token","TIMEZONE_UNIT_PRIORITY","formattingTokensRegExp$1","longFormattingTokensRegExp$1","escapedStringRegExp$1","doubleQuoteRegExp$1","notWhitespaceRegExp","unescapedLatinCharacterRegExp$1","dirtyDateString","dirtyFormatString","dirtyBackupDate","dateString","formatString","subFnOptions","setters","dateToSystemTimezone","tokens","usedTokens","parser","incompatibleToken","usedToken","fullToken","cleanEscapedString$1","uniquePrioritySetters","setter","reverse","setterArray","convertedDate","setFullYear","setHours","isRight","dateInputFormat","dateOutputFormat","date$1","freeze","parseFloat","number$1","decimal","decimal$1","percentage","percentage$1","_boolean","_boolean$1","dataTypes","coreDataTypes","compName","script$6","fixedHeader","theme","rowStyleClass","compactMode","groupOptions","selectOptions","selectionInfoClass","selectionText","clearSelectionText","disableSelectInfo","sortOptions","initialSortBy","paginationOptions","perPageDropdown","position","dropdownAllowAll","searchOptions","externalQuery","searchFn","tableLoading","selectOnCheckboxOnly","selectAllByPage","maintainExpanded","expandedRowKeys","defaultSortBy","searchTrigger","externalSearchQuery","searchPlaceholder","searchSkipDiacritics","paginate","paginateOnTop","paginateOnBottom","paginationMode","filteredRows","forceSearch","initializeSelect","initializePagination","handleSearch","initializeSearch","initializeSort","tableStyles","tableStyleClasses","hasFooterSlot","rowKeyField","hasHeaderRowTemplate","showEmptySlot","selectedRowCount","selectedPageRowsCount","totalPageRowCount","totalRowCount","selectionInfo","selectedPageRows","processedRows","r1","r2","originalIndex","groupHeaderOnTop","headerPosition","groupHeaderOnBottom","wrapStyleClasses","globalSearchAllowed","computedRows","allRows","globalSearchDisabled","foundMatch","vgt_header_id","newHeaderRow","cRows","xRow","yRow","sortValue","getColumnForField","xvalue","collect","yvalue","sortFn","typeDef","paginatedRows","childRows","_paginatedRows","pageStart","pageEnd","reconstructedRows","flatRow","handleExpanded","hRow","vgt_id","originalRows","nestedRows","handleGrouped","hasRowClickListener","toggleExpand","expandAll","collapseAll","resetTable","emitSelectedRows","unselectAllInternal","forceAll","paginationWidget","paginationBottom","paginationTop","pageChangedEvent","perPageChangedEvent","changeSort","onCheckboxClicked","pageIndex","onRowDoubleClicked","onRowClicked","onRowAuxClicked","onCellClicked","onMouseenter","onMouseleave","searchTableOnEnter","searchTableOnKeyUp","dig","selector","splitter","headerField","formatFn","isHeaderRow","_this$typedColumns$in","custom","fromFilter","_loop","newChildren","getCurrentIndex","getRowStyleClass","rowStyleClasses","childRow","_this$paginationOptio","nextLabel","prevLabel","rowsPerPageLabel","ofLabel","pageLabel","allLabel","setCurrentPage","_perPageDropdown","_this$searchOptions","_this$sortOptions","hasField","_this$selectOptions","__vue_script__$6","__vue_render__$6","slot","table","__vue_staticRenderFns__$6","__vue_inject_styles__$6","__vue_scope_id__$6","__vue_module_identifier__$6","__vue_is_functional_template__$6","__vue_component__$6","VueGoodTablePlugin","install","Vue","use","cardClosed","showLoading","_g","_b","content_visible","parentID","cardAttrs","$attrs","availableActions","triggerCollapse","triggerRefresh","triggerClose","rotate","isCollapsed","requried","BCardActionsContainer","BCardTitle","BCardSubTitle","collapsed","noActions","actionCollapse","actionRefresh","actionClose","cardStyles","showHeader","showActions","removeCard"],"mappings":"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CAkT,yCACAlG,aAGA0P,2DACAwB,gBAGAjrB,SACA2iB,WADA,SACAgB,GACA,mCAEA4F,YAJA,SAIA5F,GACA,gCAEAuH,OAPA,SAOAvH,GACAwH,eACA,qCAGAhC,MAxGA,SAwGA3mB,EAxGA,GAwGA,WACA,EAUA4oB,IATAxF,EADA,EACAA,iBACAI,EAFA,EAEAA,YACA1X,EAHA,EAGAA,QACAE,EAJA,EAIAA,YACAqX,EALA,EAKAA,eACAC,EANA,EAMAA,YACA5X,EAPA,EAOAA,OACA6X,EARA,EAQAA,cACAsF,EATA,EASAA,YAEA,cACA,uBACA,wBACA,2BACA,2BACA,wBACA,0BACA,UAEA,WAEA,cACA,yBACA,mBACA,qBACA,WAEA,OACA1B,yBACAK,2BACAhE,cACAJ,mBACAtX,UACAE,cACAqX,iBACAC,cACA5X,SACA6X,gBACAsF,cACA9uB,qBCjV+Y,ICO3Y,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QCkBA,IACfoqB,YACA2E,UACAC,aAEAvlB,KALA,WAMA,OACA8kB,YAIA3B,MAXA,SAWA3mB,EAXA,GAWA,OACA,wBADA,IAEA,mBACA,GADA,iBACA,sCACA,mBACAgpB,kCACApT,eACAoT,gDAEA,2BACA,sBACA,yBACA,uBAEA,EAUAJ,IATApF,EADA,EACAA,YACAS,EAFA,EAEAA,SACAb,EAHA,EAGAA,iBACAtX,EAJA,EAIAA,QACAE,EALA,EAKAA,YACAqX,EANA,EAMAA,eACAC,EAPA,EAOAA,YACA5X,EARA,EAQAA,OACA6X,EATA,EASAA,cAEA,uBAEAU,kBACAnE,aAGA,2BAEA,cAEAD,WACAoJ,mBAEAA,sBACAA,sBACAA,wBAQAzF,uBACA3D,WACAG,wBACAC,uBACAC,SACAjkB,KACA6P,qBACAkU,oBACA2H,2CAMA,cACA3b,WAGA,cACAF,WAEA,cACAwX,WAQA,OALA3f,uCAEAoc,OAGA,CACAD,SACAK,aACAC,UACAC,cACAH,WACAkD,mBACArD,YACAjU,UACAmU,YACAjU,cACAqX,iBACAC,cACA5X,SACA6X,gBAEAvD,YACAH,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","file":"js/chunk-4fceb8ed.1eba69d7.js","sourcesContent":["var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","import { toString } from './string';\n\nvar escapeChar = function escapeChar(value) {\n return '\\\\' + value;\n}; // The `cssEscape()` util is based on this `CSS.escape()` polyfill:\n// https://github.com/mathiasbynens/CSS.escape\n\n\nexport var cssEscape = function cssEscape(value) {\n value = toString(value);\n var length = value.length;\n var firstCharCode = value.charCodeAt(0);\n return value.split('').reduce(function (result, char, index) {\n var charCode = value.charCodeAt(index); // If the character is NULL (U+0000), use (U+FFFD) as replacement\n\n if (charCode === 0x0000) {\n return result + \"\\uFFFD\";\n } // If the character ...\n\n\n if ( // ... is U+007F OR\n charCode === 0x007f || // ... is in the range [\\1-\\1F] (U+0001 to U+001F) OR ...\n charCode >= 0x0001 && charCode <= 0x001f || // ... is the first character and is in the range [0-9] (U+0030 to U+0039) OR ...\n index === 0 && charCode >= 0x0030 && charCode <= 0x0039 || // ... is the second character and is in the range [0-9] (U+0030 to U+0039)\n // and the first character is a `-` (U+002D) ...\n index === 1 && charCode >= 0x0030 && charCode <= 0x0039 && firstCharCode === 0x002d) {\n // ... https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n return result + escapeChar(\"\".concat(charCode.toString(16), \" \"));\n } // If the character ...\n\n\n if ( // ... is the first character AND ...\n index === 0 && // ... is a `-` (U+002D) AND ...\n charCode === 0x002d && // ... there is no second character ...\n length === 1) {\n // ... use the escaped character\n return result + escapeChar(char);\n } // If the character ...\n\n\n if ( // ... is greater than or equal to U+0080 OR ...\n charCode >= 0x0080 || // ... is `-` (U+002D) OR ...\n charCode === 0x002d || // ... is `_` (U+005F) OR ...\n charCode === 0x005f || // ... is in the range [0-9] (U+0030 to U+0039) OR ...\n charCode >= 0x0030 && charCode <= 0x0039 || // ... is in the range [A-Z] (U+0041 to U+005A) OR ...\n charCode >= 0x0041 && charCode <= 0x005a || // ... is in the range [a-z] (U+0061 to U+007A) ...\n charCode >= 0x0061 && charCode <= 0x007a) {\n // ... use the character itself\n return result + char;\n } // Otherwise use the escaped character\n // See: https://drafts.csswg.org/cssom/#escape-a-character\n\n\n return result + escapeChar(char);\n }, '');\n};","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { isToday } from './utils'\r\n\r\nexport const kFormatter = num => (num > 999 ? `${(num / 1000).toFixed(1)}k` : num)\r\n\r\nexport const title = (value, replacer = ' ') => {\r\n if (!value) return ''\r\n const str = value.toString()\r\n\r\n const arr = str.split(replacer)\r\n const capitalizedArray = []\r\n arr.forEach(word => {\r\n const capitalized = word.charAt(0).toUpperCase() + word.slice(1)\r\n capitalizedArray.push(capitalized)\r\n })\r\n return capitalizedArray.join(' ')\r\n}\r\n\r\nexport const avatarText = value => {\r\n if (!value) return ''\r\n const nameArray = value.split(' ')\r\n const str = nameArray.map(word => word.charAt(0).toUpperCase()).join('')\r\n const last2 = str.slice(str.length - 2)\r\n // return nameArray.map(word => word.charAt(0).toUpperCase()).join('')\r\n return last2\r\n}\r\n\r\n/**\r\n * Format and return date in Humanize format\r\n * Intl docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format\r\n * Intl Constructor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat\r\n * @param {String} value date to format\r\n * @param {Object} formatting Intl object to format with\r\n */\r\nexport const formatDate = (value, formatting = { month: 'short', day: 'numeric', year: 'numeric' }) => {\r\n if (!value) return value\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n/**\r\n * Return short human friendly month representation of date\r\n * Can also convert date to only time if date is of today (Better UX)\r\n * @param {String} value date to format\r\n * @param {Boolean} toTimeForCurrentDay Shall convert to time if day is today/current\r\n */\r\nexport const formatDateToMonthShort = (value, toTimeForCurrentDay = true) => {\r\n const date = new Date(value)\r\n let formatting = { month: 'short', day: 'numeric' }\r\n\r\n if (toTimeForCurrentDay && isToday(date)) {\r\n formatting = { hour: 'numeric', minute: 'numeric' }\r\n }\r\n\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n// Strip all the tags from markup and return plain text\r\nexport const filterTags = value => value.replace(/<\\/?[^>]+(>|$)/g, '')\r\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = isPromise;\nmodule.exports.default = isPromise;\n\nfunction isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n}\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// Mixin to determine if an event listener has been registered\n// either via `v-on:name` (in the parent) or programmatically\n// via `vm.$on('name', ...)`\n// See: https://github.com/vuejs/vue/issues/10825\nimport { Vue } from '../vue';\nimport { isArray, isUndefined } from '../utils/inspect'; // @vue/component\n\nexport var hasListenerMixin = Vue.extend({\n methods: {\n hasListener: function hasListener(name) {\n // Only includes listeners registered via `v-on:name`\n var $listeners = this.$listeners || {}; // Includes `v-on:name` and `this.$on('name')` registered listeners\n // Note this property is not part of the public Vue API, but it is\n // the only way to determine if a listener was added via `vm.$on`\n\n var $events = this._events || {}; // Registered listeners in `this._events` are always an array,\n // but might be zero length\n\n return !isUndefined($listeners[name]) || isArray($events[name]) && $events[name].length > 0;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TR } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar LIGHT = 'light';\nvar DARK = 'dark'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TR); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTr = /*#__PURE__*/Vue.extend({\n name: NAME_TR,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableTr: this\n };\n },\n inject: {\n bvTableRowGroup: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / ``\n inTbody: function inTbody() {\n return this.bvTableRowGroup.isTbody;\n },\n // Sniffed by `` / ``\n inThead: function inThead() {\n return this.bvTableRowGroup.isThead;\n },\n // Sniffed by `` / ``\n inTfoot: function inTfoot() {\n return this.bvTableRowGroup.isTfoot;\n },\n // Sniffed by `` / ``\n isDark: function isDark() {\n return this.bvTableRowGroup.isDark;\n },\n // Sniffed by `` / ``\n isStacked: function isStacked() {\n return this.bvTableRowGroup.isStacked;\n },\n // Sniffed by `` / ``\n isResponsive: function isResponsive() {\n return this.bvTableRowGroup.isResponsive;\n },\n // Sniffed by `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return this.bvTableRowGroup.isStickyHeader;\n },\n // Sniffed by / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTableRowGroup.hasStickyHeader;\n },\n // Sniffed by `` / ``\n tableVariant: function tableVariant() {\n return this.bvTableRowGroup.tableVariant;\n },\n // Sniffed by `` / ``\n headVariant: function headVariant() {\n return this.inThead ? this.bvTableRowGroup.headVariant : null;\n },\n // Sniffed by `` / ``\n footVariant: function footVariant() {\n return this.inTfoot ? this.bvTableRowGroup.footVariant : null;\n },\n isRowDark: function isRowDark() {\n return this.headVariant === LIGHT || this.footVariant === LIGHT ?\n /* istanbul ignore next */\n false : this.headVariant === DARK || this.footVariant === DARK ?\n /* istanbul ignore next */\n true : this.isDark;\n },\n trClasses: function trClasses() {\n var variant = this.variant;\n return [variant ? \"\".concat(this.isRowDark ? 'bg' : 'table', \"-\").concat(variant) : null];\n },\n trAttrs: function trAttrs() {\n return _objectSpread({\n role: 'row'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('tr', {\n class: this.trClasses,\n attrs: this.trAttrs,\n // Pass native listeners to child\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_BOTTOM_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var bottomRowMixin = Vue.extend({\n props: props,\n methods: {\n renderBottomRow: function renderBottomRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_BOTTOM_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-bottom-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-bottom') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-bottom') : tbodyTrAttr,\n key: 'b-bottom-row'\n }, this.normalizeSlot(SLOT_NAME_BOTTOM_ROW, {\n columns: fields.length,\n fields: fields\n }));\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE_CELL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Helper methods ---\n// Parse a rowspan or colspan into a digit (or `null` if < `1` )\n\nvar parseSpan = function parseSpan(value) {\n value = toInteger(value, 0);\n return value > 0 ? value : null;\n};\n/* istanbul ignore next */\n\n\nvar spanValidator = function spanValidator(value) {\n return isUndefinedOrNull(value) || parseSpan(value) > 0;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n colspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n rowspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n stackedHeading: makeProp(PROP_TYPE_STRING),\n stickyColumn: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TABLE_CELL); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTd = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_CELL,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n inject: {\n bvTableTr: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Overridden by ``\n tag: function tag() {\n return 'td';\n },\n inTbody: function inTbody() {\n return this.bvTableTr.inTbody;\n },\n inThead: function inThead() {\n return this.bvTableTr.inThead;\n },\n inTfoot: function inTfoot() {\n return this.bvTableTr.inTfoot;\n },\n isDark: function isDark() {\n return this.bvTableTr.isDark;\n },\n isStacked: function isStacked() {\n return this.bvTableTr.isStacked;\n },\n // We only support stacked-heading in tbody in stacked mode\n isStackedCell: function isStackedCell() {\n return this.inTbody && this.isStacked;\n },\n isResponsive: function isResponsive() {\n return this.bvTableTr.isResponsive;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return this.bvTableTr.isStickyHeader;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return this.bvTableTr.hasStickyHeader;\n },\n // Needed to handle background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky column cells are only available in responsive\n // mode (horizontal scrolling) or when sticky header mode\n // Applies to cells in `thead`, `tbody` and `tfoot`\n isStickyColumn: function isStickyColumn() {\n return !this.isStacked && (this.isResponsive || this.hasStickyHeader) && this.stickyColumn;\n },\n rowVariant: function rowVariant() {\n return this.bvTableTr.variant;\n },\n headVariant: function headVariant() {\n return this.bvTableTr.headVariant;\n },\n footVariant: function footVariant() {\n return this.bvTableTr.footVariant;\n },\n tableVariant: function tableVariant() {\n return this.bvTableTr.tableVariant;\n },\n computedColspan: function computedColspan() {\n return parseSpan(this.colspan);\n },\n computedRowspan: function computedRowspan() {\n return parseSpan(this.rowspan);\n },\n // We use computed props here for improved performance by caching\n // the results of the string interpolation\n cellClasses: function cellClasses() {\n var variant = this.variant,\n headVariant = this.headVariant,\n isStickyColumn = this.isStickyColumn;\n\n if (!variant && this.isStickyHeader && !headVariant || !variant && isStickyColumn && this.inTfoot && !this.footVariant || !variant && isStickyColumn && this.inThead && !headVariant || !variant && isStickyColumn && this.inTbody) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's `background-color`\n variant = this.rowVariant || this.tableVariant || 'b-table-default';\n }\n\n return [variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(variant) : null, isStickyColumn ? 'b-table-sticky-column' : null];\n },\n cellAttrs: function cellAttrs() {\n var stackedHeading = this.stackedHeading; // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n\n var headOrFoot = this.inThead || this.inTfoot; // Make sure col/rowspan's are > 0 or null\n\n var colspan = this.computedColspan;\n var rowspan = this.computedRowspan; // Default role and scope\n\n var role = 'cell';\n var scope = null; // Compute role and scope\n // We only add scopes with an explicit span of 1 or greater\n\n if (headOrFoot) {\n // Header or footer cells\n role = 'columnheader';\n scope = colspan > 0 ? 'colspan' : 'col';\n } else if (isTag(this.tag, 'th')) {\n // th's in tbody\n role = 'rowheader';\n scope = rowspan > 0 ? 'rowgroup' : 'row';\n }\n\n return _objectSpread(_objectSpread({\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope\n }, this.bvAttrs), {}, {\n // Add in the stacked cell label data-attribute if in\n // stacked mode (if a stacked heading label is provided)\n 'data-label': this.isStackedCell && !isUndefinedOrNull(stackedHeading) ?\n /* istanbul ignore next */\n toString(stackedHeading) : null\n });\n }\n },\n render: function render(h) {\n var $content = [this.normalizeSlot()];\n return h(this.tag, {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.bvListeners\n }, [this.isStackedCell ? h('div', [$content]) : $content]);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Constants ---\n\nvar MODEL_PROP_NAME_BUSY = 'busy';\nvar MODEL_EVENT_NAME_BUSY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_BUSY; // --- Props ---\n\nexport var props = _defineProperty({}, MODEL_PROP_NAME_BUSY, makeProp(PROP_TYPE_BOOLEAN, false)); // --- Mixin ---\n// @vue/component\n\nexport var busyMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this[MODEL_PROP_NAME_BUSY] || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_BUSY, newValue);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(event) {\n // If table is busy (via provider) then don't propagate\n if (this.computedBusy) {\n stopEvent(event);\n return true;\n }\n\n return false;\n },\n // Render the busy indicator or return `null` if not busy\n renderBusy: function renderBusy() {\n var tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Return a busy indicator row, or `null` if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY)) {\n return h(BTr, {\n staticClass: 'b-table-busy-slot',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, SLOT_NAME_TABLE_BUSY) : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, SLOT_NAME_TABLE_BUSY) : tbodyTrAttr,\n key: 'table-busy-slot'\n }, [h(BTd, {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [this.normalizeSlot(SLOT_NAME_TABLE_BUSY)])]);\n } // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n\n\n return null;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_CAPTION } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING) // `caption-top` is part of table-render mixin (styling)\n // captionTop: makeProp(PROP_TYPE_BOOLEAN, false)\n\n}; // --- Mixin ---\n// @vue/component\n\nexport var captionMixin = Vue.extend({\n props: props,\n computed: {\n captionId: function captionId() {\n // Even though `this.safeId` looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null;\n }\n },\n methods: {\n renderCaption: function renderCaption() {\n var caption = this.caption,\n captionHtml = this.captionHtml;\n var h = this.$createElement;\n var $caption = h();\n var hasCaptionSlot = this.hasNormalizedSlot(SLOT_NAME_TABLE_CAPTION);\n\n if (hasCaptionSlot || caption || captionHtml) {\n $caption = h('caption', {\n attrs: {\n id: this.captionId\n },\n domProps: hasCaptionSlot ? {} : htmlOrText(captionHtml, caption),\n key: 'caption'\n }, this.normalizeSlot(SLOT_NAME_TABLE_CAPTION));\n }\n\n return $caption;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TABLE_COLGROUP } from '../../../constants/slots'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var colgroupMixin = Vue.extend({\n methods: {\n renderColgroup: function renderColgroup() {\n var fields = this.computedFields;\n var h = this.$createElement;\n var $colgroup = h();\n\n if (this.hasNormalizedSlot(SLOT_NAME_TABLE_COLGROUP)) {\n $colgroup = h('colgroup', {\n key: 'colgroup'\n }, [this.normalizeSlot(SLOT_NAME_TABLE_COLGROUP, {\n columns: fields.length,\n fields: fields\n })]);\n }\n\n return $colgroup;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_EMPTYFILTERED, SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Props ---\n\nexport var props = {\n emptyFilteredHtml: makeProp(PROP_TYPE_STRING),\n emptyFilteredText: makeProp(PROP_TYPE_STRING, 'There are no records matching your request'),\n emptyHtml: makeProp(PROP_TYPE_STRING),\n emptyText: makeProp(PROP_TYPE_STRING, 'There are no records to show'),\n showEmpty: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var emptyMixin = Vue.extend({\n props: props,\n methods: {\n renderEmpty: function renderEmpty() {\n var items = this.computedItems;\n var h = this.$createElement;\n var $empty = h();\n\n if (this.showEmpty && (!items || items.length === 0) && !(this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY))) {\n var fields = this.computedFields,\n isFiltered = this.isFiltered,\n emptyText = this.emptyText,\n emptyHtml = this.emptyHtml,\n emptyFilteredText = this.emptyFilteredText,\n emptyFilteredHtml = this.emptyFilteredHtml,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n $empty = this.normalizeSlot(isFiltered ? SLOT_NAME_EMPTYFILTERED : SLOT_NAME_EMPTY, {\n emptyFilteredHtml: emptyFilteredHtml,\n emptyFilteredText: emptyFilteredText,\n emptyHtml: emptyHtml,\n emptyText: emptyText,\n fields: fields,\n // Not sure why this is included, as it will always be an empty array\n items: items\n });\n\n if (!$empty) {\n $empty = h('div', {\n class: ['text-center', 'my-2'],\n domProps: isFiltered ? htmlOrText(emptyFilteredHtml, emptyFilteredText) : htmlOrText(emptyHtml, emptyText)\n });\n }\n\n $empty = h(BTd, {\n props: {\n colspan: fields.length || null\n }\n }, [h('div', {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite'\n }\n }, [$empty])]);\n $empty = h(BTr, {\n staticClass: 'b-table-empty-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-empty') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-empty') : tbodyTrAttr,\n key: isFiltered ? 'b-empty-filtered-row' : 'b-empty-row'\n }, [$empty]);\n }\n\n return $empty;\n }\n }\n});","import { isDate, isObject, isUndefinedOrNull } from './inspect';\nimport { keys } from './object';\nimport { toString } from './string'; // Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Strings are returned as-is\n// Numbers get converted to string\n// `null` and `undefined` values are filtered out\n// Dates are converted to their native string format\n\nexport var stringifyObjectValues = function stringifyObjectValues(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n } // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n\n\n if (isObject(value) && !isDate(value)) {\n return keys(value).sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .map(function (k) {\n return stringifyObjectValues(value[k]);\n }).filter(function (v) {\n return !!v;\n }) // Ignore empty strings\n .join(' ');\n }\n\n return toString(value);\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Constants used by table helpers\nexport var FIELD_KEY_CELL_VARIANT = '_cellVariants';\nexport var FIELD_KEY_ROW_VARIANT = '_rowVariant';\nexport var FIELD_KEY_SHOW_DETAILS = '_showDetails'; // Object of item keys that should be ignored for headers and\n// stringification and filter events\n\nexport var IGNORED_FIELD_KEYS = [FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS].reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, true));\n}, {}); // Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\n\nexport var EVENT_FILTER = ['a', 'a *', // Include content inside links\n'button', 'button *', // Include content inside buttons\n'input:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'textarea:not(.disabled):not([disabled])', '[role=\"link\"]', '[role=\"link\"] *', '[role=\"button\"]', '[role=\"button\"] *', '[tabindex]:not(.disabled):not([disabled])'].join(',');","import { arrayIncludes } from '../../../utils/array';\nimport { isArray, isFunction } from '../../../utils/inspect';\nimport { clone, keys, pick } from '../../../utils/object';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Return a copy of a row after all reserved fields have been filtered out\n\nexport var sanitizeRow = function sanitizeRow(row, ignoreFields, includeFields) {\n var fieldsObj = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // We first need to format the row based on the field configurations\n // This ensures that we add formatted values for keys that may not\n // exist in the row itself\n var formattedRow = keys(fieldsObj).reduce(function (result, key) {\n var field = fieldsObj[key];\n var filterByFormatted = field.filterByFormatted;\n var formatter = isFunction(filterByFormatted) ?\n /* istanbul ignore next */\n filterByFormatted : filterByFormatted ?\n /* istanbul ignore next */\n field.formatter : null;\n\n if (isFunction(formatter)) {\n result[key] = formatter(row[key], key, row);\n }\n\n return result;\n }, clone(row)); // Determine the allowed keys:\n // - Ignore special fields that start with `_`\n // - Ignore fields in the `ignoreFields` array\n // - Include only fields in the `includeFields` array\n\n var allowedKeys = keys(formattedRow).filter(function (key) {\n return !IGNORED_FIELD_KEYS[key] && !(isArray(ignoreFields) && ignoreFields.length > 0 && arrayIncludes(ignoreFields, key)) && !(isArray(includeFields) && includeFields.length > 0 && !arrayIncludes(includeFields, key));\n });\n return pick(formattedRow, allowedKeys);\n};","import { isObject } from '../../../utils/inspect';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\nimport { sanitizeRow } from './sanitize-row'; // Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\n\nexport var stringifyRecordValues = function stringifyRecordValues(row, ignoreFields, includeFields, fieldsObj) {\n return isObject(row) ? stringifyObjectValues(sanitizeRow(row, ignoreFields, includeFields, fieldsObj)) :\n /* istanbul ignore next */\n '';\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_FILTERED } from '../../../constants/events';\nimport { PROP_TYPE_REG_EXP, PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_ARRAY, PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { RX_DIGITS, RX_SPACES } from '../../../constants/regex';\nimport { concat } from '../../../utils/array';\nimport { cloneDeep } from '../../../utils/clone-deep';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isString, isRegExp } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { toInteger } from '../../../utils/number';\nimport { hasPropFunction, makeProp } from '../../../utils/props';\nimport { escapeRegExp } from '../../../utils/string';\nimport { warn } from '../../../utils/warn';\nimport { stringifyRecordValues } from './stringify-record-values'; // --- Constants ---\n\nvar DEBOUNCE_DEPRECATED_MSG = 'Prop \"filter-debounce\" is deprecated. Use the debounce feature of \"\" instead.'; // --- Props ---\n\nexport var props = {\n filter: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_REG_EXP])),\n filterDebounce: makeProp(PROP_TYPE_NUMBER_STRING, 0, function (value) {\n return RX_DIGITS.test(String(value));\n }),\n filterFunction: makeProp(PROP_TYPE_FUNCTION),\n filterIgnoredFields: makeProp(PROP_TYPE_ARRAY, []),\n filterIncludedFields: makeProp(PROP_TYPE_ARRAY, [])\n}; // --- Mixin ---\n// @vue/component\n\nexport var filteringMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n // Flag for displaying which empty slot to show and some event triggering\n isFiltered: false,\n // Where we store the copy of the filter criteria after debouncing\n // We pre-set it with the sanitized filter value\n localFilter: this.filterSanitize(this.filter)\n };\n },\n computed: {\n computedFilterIgnored: function computedFilterIgnored() {\n return concat(this.filterIgnoredFields || []).filter(identity);\n },\n computedFilterIncluded: function computedFilterIncluded() {\n return concat(this.filterIncludedFields || []).filter(identity);\n },\n computedFilterDebounce: function computedFilterDebounce() {\n var ms = toInteger(this.filterDebounce, 0);\n /* istanbul ignore next */\n\n if (ms > 0) {\n warn(DEBOUNCE_DEPRECATED_MSG, NAME_TABLE);\n }\n\n return ms;\n },\n localFiltering: function localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true;\n },\n // For watching changes to `filteredItems` vs `localItems`\n filteredCheck: function filteredCheck() {\n var filteredItems = this.filteredItems,\n localItems = this.localItems,\n localFilter = this.localFilter;\n return {\n filteredItems: filteredItems,\n localItems: localItems,\n localFilter: localFilter\n };\n },\n // Sanitized/normalize filter-function prop\n localFilterFn: function localFilterFn() {\n // Return `null` to signal to use internal filter function\n var filterFunction = this.filterFunction;\n return hasPropFunction(filterFunction) ? filterFunction : null;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n // Note the criteria is debounced and sanitized\n var items = this.localItems,\n criteria = this.localFilter; // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n\n var filterFn = this.localFiltering ? this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria) : null; // We only do local filtering when requested and there are records to filter\n\n return filterFn && items.length > 0 ? items.filter(filterFn) : items;\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce: function computedFilterDebounce(newValue) {\n if (!newValue && this.$_filterTimer) {\n this.clearFilterTimer();\n this.localFilter = this.filterSanitize(this.filter);\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler: function handler(newCriteria) {\n var _this = this;\n\n var timeout = this.computedFilterDebounce;\n this.clearFilterTimer();\n\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(function () {\n _this.localFilter = _this.filterSanitize(newCriteria);\n }, timeout);\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria);\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered = false;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if (looseEqual(localFilter, []) || looseEqual(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true;\n }\n\n if (isFiltered) {\n this.$emit(EVENT_NAME_FILTERED, filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newValue, oldValue) {\n if (newValue === false && oldValue === true) {\n // We need to emit a filtered event if `isFiltered` transitions from `true` to\n // `false` so that users can update their pagination controls\n var localItems = this.localItems;\n this.$emit(EVENT_NAME_FILTERED, localItems, localItems.length);\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create private non-reactive props\n this.$_filterTimer = null; // If filter is \"pre-set\", set the criteria\n // This will trigger any watchers/dependents\n // this.localFilter = this.filterSanitize(this.filter)\n // Set the initial filtered state in a `$nextTick()` so that\n // we trigger a filtered event if needed\n\n this.$nextTick(function () {\n _this2.isFiltered = Boolean(_this2.localFilter);\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearFilterTimer();\n },\n methods: {\n clearFilterTimer: function clearFilterTimer() {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n },\n filterSanitize: function filterSanitize(criteria) {\n // Sanitizes filter criteria based on internal or external filtering\n if (this.localFiltering && !this.localFilterFn && !(isString(criteria) || isRegExp(criteria))) {\n // If using internal filter function, which only accepts string or RegExp,\n // return '' to signify no filter\n return '';\n } // Could be a string, object or array, as needed by external filter function\n // We use `cloneDeep` to ensure we have a new copy of an object or array\n // without Vue's reactive observers\n\n\n return cloneDeep(criteria);\n },\n // Filter Function factories\n filterFnFactory: function filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions\n // Wrap the provided filter-function and return a new function\n // Returns `null` if no filter-function defined or if criteria is falsey\n // Rather than directly grabbing `this.computedLocalFilterFn` or `this.filterFunction`\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (!filterFn || !isFunction(filterFn) || !criteria || looseEqual(criteria, []) || looseEqual(criteria, {})) {\n return null;\n } // Build the wrapped filter test function, passing the criteria to the provided function\n\n\n var fn = function fn(item) {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria);\n }; // Return the wrapped function\n\n\n return fn;\n },\n defaultFilterFnFactory: function defaultFilterFnFactory(criteria) {\n var _this3 = this;\n\n // Generates the default filter function, using the given filter criteria\n // Returns `null` if no criteria or criteria format not supported\n if (!criteria || !(isString(criteria) || isRegExp(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null;\n } // Build the RegExp needed for filtering\n\n\n var regExp = criteria;\n\n if (isString(regExp)) {\n // Escape special RegExp characters in the string and convert contiguous\n // whitespace to \\s+ matches\n var pattern = escapeRegExp(criteria).replace(RX_SPACES, '\\\\s+'); // Build the RegExp (no need for global flag, as we only need\n // to find the value once in the string)\n\n regExp = new RegExp(\".*\".concat(pattern, \".*\"), 'i');\n } // Generate the wrapped filter test function to use\n\n\n var fn = function fn(item) {\n // This searches all row values (and sub property values) in the entire (excluding\n // special `_` prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields)\n // Users can ignore filtering on specific fields, or on only certain fields,\n // and can optionall specify searching results of fields with formatter\n //\n // TODO: Enable searching on scoped slots (optional, as it will be SLOW)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n //\n // We set `lastIndex = 0` on the `RegExp` in case someone specifies the `/g` global flag\n regExp.lastIndex = 0;\n return regExp.test(stringifyRecordValues(item, _this3.computedFilterIgnored, _this3.computedFilterIncluded, _this3.computedFieldsObj));\n }; // Return the generated function\n\n\n return fn;\n }\n }\n});","import { identity } from '../../../utils/identity';\nimport { isArray, isFunction, isObject, isString } from '../../../utils/inspect';\nimport { clone, keys } from '../../../utils/object';\nimport { startCase } from '../../../utils/string';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Private function to massage field entry into common object format\n\nvar processField = function processField(key, value) {\n var field = null;\n\n if (isString(value)) {\n // Label shortcut\n field = {\n key: key,\n label: value\n };\n } else if (isFunction(value)) {\n // Formatter shortcut\n field = {\n key: key,\n formatter: value\n };\n } else if (isObject(value)) {\n field = clone(value);\n field.key = field.key || key;\n } else if (value !== false) {\n // Fallback to just key\n\n /* istanbul ignore next */\n field = {\n key: key\n };\n }\n\n return field;\n}; // We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\n\n\nexport var normalizeFields = function normalizeFields(origFields, items) {\n var fields = [];\n\n if (isArray(origFields)) {\n // Normalize array Form\n origFields.filter(identity).forEach(function (f) {\n if (isString(f)) {\n fields.push({\n key: f,\n label: startCase(f)\n });\n } else if (isObject(f) && f.key && isString(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(clone(f));\n } else if (isObject(f) && keys(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n var key = keys(f)[0];\n var field = processField(key, f[key]);\n\n if (field) {\n fields.push(field);\n }\n }\n });\n } // If no field provided, take a sample from first record (if exits)\n\n\n if (fields.length === 0 && isArray(items) && items.length > 0) {\n var sample = items[0];\n keys(sample).forEach(function (k) {\n if (!IGNORED_FIELD_KEYS[k]) {\n fields.push({\n key: k,\n label: startCase(k)\n });\n }\n });\n } // Ensure we have a unique array of fields and that they have String labels\n\n\n var memo = {};\n return fields.filter(function (f) {\n if (!memo[f.key]) {\n memo[f.key] = true;\n f.label = isString(f.label) ? f.label : startCase(f.key);\n return true;\n }\n\n return false;\n });\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isArray, isFunction, isString } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { makeModelMixin } from '../../../utils/model';\nimport { toInteger } from '../../../utils/number';\nimport { clone, sortKeys } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { normalizeFields } from './normalize-fields'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_ARRAY,\n defaultValue: []\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, _defineProperty({\n fields: makeProp(PROP_TYPE_ARRAY, null),\n // Provider mixin adds in `Function` type\n items: makeProp(PROP_TYPE_ARRAY, []),\n // Primary key for record\n // If provided the value in each row must be unique!\n primaryKey: makeProp(PROP_TYPE_STRING)\n}, MODEL_PROP_NAME, makeProp(PROP_TYPE_ARRAY, [])))); // --- Mixin ---\n// @vue/component\n\nexport var itemsMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var items = this.items;\n return {\n // Our local copy of the items\n // Must be an array\n localItems: isArray(items) ? items.slice() : []\n };\n },\n computed: {\n computedFields: function computedFields() {\n // We normalize fields into an array of objects\n // `[ { key:..., label:..., ...}, {...}, ..., {..}]`\n return normalizeFields(this.fields, this.localItems);\n },\n computedFieldsObj: function computedFieldsObj() {\n // Fields as a simple lookup hash object\n // Mainly for formatter lookup and use in `scopedSlots` for convenience\n // If the field has a formatter, it normalizes formatter to a\n // function ref or `undefined` if no formatter\n var $parent = this.$parent;\n return this.computedFields.reduce(function (obj, f) {\n // We use object spread here so we don't mutate the original field object\n obj[f.key] = clone(f);\n\n if (f.formatter) {\n // Normalize formatter to a function ref or `undefined`\n var formatter = f.formatter;\n\n if (isString(formatter) && isFunction($parent[formatter])) {\n formatter = $parent[formatter];\n } else if (!isFunction(formatter)) {\n /* istanbul ignore next */\n formatter = undefined;\n } // Return formatter function or `undefined` if none\n\n\n obj[f.key].formatter = formatter;\n }\n\n return obj;\n }, {});\n },\n computedItems: function computedItems() {\n // Fallback if various mixins not provided\n return (this.paginatedItems || this.sortedItems || this.filteredItems || this.localItems ||\n /* istanbul ignore next */\n []).slice();\n },\n context: function context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: mathMax(toInteger(this.perPage, 0), 0),\n currentPage: mathMax(toInteger(this.currentPage, 0), 1),\n apiUrl: this.apiUrl\n };\n }\n },\n watch: {\n items: function items(newValue) {\n // Set `localItems`/`filteredItems` to a copy of the provided array\n this.localItems = isArray(newValue) ? newValue.slice() : [];\n },\n // Watch for changes on `computedItems` and update the `v-model`\n computedItems: function computedItems(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n },\n // Watch for context changes\n context: function context(newValue, oldValue) {\n // Emit context information for external paging/filtering/sorting handling\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT_CHANGED, newValue);\n }\n }\n },\n mounted: function mounted() {\n // Initially update the `v-model` of displayed items\n this.$emit(MODEL_EVENT_NAME, this.computedItems);\n },\n methods: {\n // Method to get the formatter method for a given field key\n getFieldFormatter: function getFieldFormatter(key) {\n var field = this.computedFieldsObj[key]; // `this.computedFieldsObj` has pre-normalized the formatter to a\n // function ref if present, otherwise `undefined`\n\n return field ? field.formatter : undefined;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { mathMax } from '../../../utils/math';\nimport { toInteger } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n currentPage: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, 0)\n}; // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n props: props,\n computed: {\n localPaging: function localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true;\n },\n paginatedItems: function paginatedItems() {\n var items = this.sortedItems || this.filteredItems || this.localItems || [];\n var currentPage = mathMax(toInteger(this.currentPage, 1), 1);\n var perPage = mathMax(toInteger(this.perPage, 0), 0); // Apply local pagination\n\n if (this.localPaging && perPage) {\n // Grab the current page of data (which may be past filtered items limit)\n items = items.slice((currentPage - 1) * perPage, currentPage * perPage);\n } // Return the items to display in the table\n\n\n return items;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { isArray, isFunction, isPromise } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { clone } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { warn } from '../../../utils/warn';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_REFRESHED = getRootEventName(NAME_TABLE, EVENT_NAME_REFRESHED);\nvar ROOT_ACTION_EVENT_NAME_REFRESH = getRootActionEventName(NAME_TABLE, EVENT_NAME_REFRESH); // --- Props ---\n\nexport var props = {\n // Passed to the context object\n // Not used by `` directly\n apiUrl: makeProp(PROP_TYPE_STRING),\n // Adds in 'Function' support\n items: makeProp(PROP_TYPE_ARRAY_FUNCTION, []),\n noProviderFiltering: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderPaging: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderSorting: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var providerMixin = Vue.extend({\n mixins: [listenOnRootMixin],\n props: props,\n computed: {\n hasProvider: function hasProvider() {\n return isFunction(this.items);\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return clone(ctx);\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newValue) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newValue)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newValue, oldValue) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newValue, oldValue)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REFRESH, function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n var items = this.items,\n refresh = this.refresh; // Public Method: Force a refresh of the provider function\n\n this.$off(EVENT_NAME_REFRESHED, refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on(EVENT_NAME_REFRESHED, refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = isArray(items) ? items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = isArray(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit(EVENT_NAME_REFRESHED); // New root emit\n\n if (this.id) {\n this.emitOnRoot(ROOT_EVENT_NAME_REFRESHED, this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n var _this2 = this;\n\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n try {\n // Call provider function passing it the context and optional callback\n var data = _this2.items(_this2.context, _this2._providerSetLocal);\n\n if (isPromise(data)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if (isArray(data)) {\n // Provider returned Array data\n _this2._providerSetLocal(data);\n } else {\n /* istanbul ignore if */\n if (_this2.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n warn(\"Provider function didn't request callback and did not return a promise or data.\", NAME_TABLE);\n _this2.localBusy = false;\n }\n }\n } catch (e)\n /* istanbul ignore next */\n {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n warn(\"Provider function error [\".concat(e.name, \"] \").concat(e.message, \".\"), NAME_TABLE);\n _this2.localBusy = false;\n\n _this2.$off(EVENT_NAME_REFRESHED, _this2.refresh);\n }\n });\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED, EVENT_NAME_FILTERED, EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_SELECTED } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes, createArray } from '../../../utils/array';\nimport { identity } from '../../../utils/identity';\nimport { isArray, isNumber } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax, mathMin } from '../../../utils/math';\nimport { makeProp } from '../../../utils/props';\nimport { sanitizeRow } from './sanitize-row'; // --- Constants ---\n\nvar SELECT_MODES = ['range', 'multi', 'single']; // --- Props ---\n\nexport var props = {\n // Disable use of click handlers for row selection\n noSelectOnClick: makeProp(PROP_TYPE_BOOLEAN, false),\n selectMode: makeProp(PROP_TYPE_STRING, 'multi', function (value) {\n return arrayIncludes(SELECT_MODES, value);\n }),\n selectable: makeProp(PROP_TYPE_BOOLEAN, false),\n selectedVariant: makeProp(PROP_TYPE_STRING, 'active')\n}; // --- Mixin ---\n// @vue/component\n\nexport var selectableMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n isSelectable: function isSelectable() {\n return this.selectable && this.selectMode;\n },\n hasSelectableRowClick: function hasSelectableRowClick() {\n return this.isSelectable && !this.noSelectOnClick;\n },\n supportsSelectableRows: function supportsSelectableRows() {\n return true;\n },\n selectableHasSelection: function selectableHasSelection() {\n var selectedRows = this.selectedRows;\n return this.isSelectable && selectedRows && selectedRows.length > 0 && selectedRows.some(identity);\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n return this.isSelectable && arrayIncludes(['range', 'multi'], this.selectMode);\n },\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n var isSelectable = this.isSelectable;\n return _ref = {\n 'b-table-selectable': isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _defineProperty(_ref, 'b-table-selectable-no-click', isSelectable && !this.hasSelectableRowClick), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n // TODO:\n // Should this attribute not be included when no-select-on-click is set\n // since this attribute implies keyboard navigation?\n 'aria-multiselectable': !this.isSelectable ? null : this.selectableIsMultiSelect ? 'true' : 'false'\n };\n }\n },\n watch: {\n computedItems: function computedItems(newValue, oldValue) {\n // Reset for selectable\n var equal = false;\n\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = isArray(newValue) && isArray(oldValue) && newValue.length === oldValue.length;\n\n for (var i = 0; equal && i < newValue.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newValue[i]), sanitizeRow(oldValue[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(newValue);\n },\n selectMode: function selectMode() {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(!newValue);\n },\n selectedRows: function selectedRows(_selectedRows, oldValue) {\n var _this = this;\n\n if (this.isSelectable && !looseEqual(_selectedRows, oldValue)) {\n var items = []; // `.forEach()` skips over non-existent indices (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit(EVENT_NAME_ROW_SELECTED, items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers if needed\n if (this.isSelectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n // Public methods\n selectRow: function selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (this.isSelectable && isNumber(index) && index >= 0 && index < this.computedItems.length && !this.isRowSelected(index)) {\n var selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : [];\n selectedRows[index] = true;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n unselectRow: function unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && isNumber(index) && this.isRowSelected(index)) {\n var selectedRows = this.selectedRows.slice();\n selectedRows[index] = false;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n selectAllRows: function selectAllRows() {\n var length = this.computedItems.length;\n\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1;\n this.selectedRows = this.selectableIsMultiSelect ? createArray(length, true) : [true];\n }\n },\n isRowSelected: function isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return !!(isNumber(index) && this.selectedRows[index]);\n },\n clearSelected: function clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n },\n // Internal private methods\n selectableRowClasses: function selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': true\n }, \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(variant), variant);\n }\n\n return {};\n },\n selectableRowAttrs: function selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n };\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on && !this.noSelectOnClick ? '$on' : '$off'; // Handle row-clicked event\n\n this[method](EVENT_NAME_ROW_CLICKED, this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method](EVENT_NAME_FILTERED, this.clearSelected);\n this[method](EVENT_NAME_CONTEXT_CHANGED, this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, event) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable || this.noSelectOnClick) {\n // Don't do anything if table is not in selectable mode\n this.clearSelected();\n return;\n }\n\n var selectMode = this.selectMode,\n selectedLastRow = this.selectedLastRow;\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index]; // Note 'multi' mode needs no special event handling\n\n if (selectMode === 'single') {\n selectedRows = [];\n } else if (selectMode === 'range') {\n if (selectedLastRow > -1 && event.shiftKey) {\n // range\n for (var idx = mathMin(selectedLastRow, index); idx <= mathMax(selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(event.ctrlKey || event.metaKey)) {\n // Clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n this.selectedLastRow = selected ? index : -1;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n});","var _props, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_HEAD_CLICKED, EVENT_NAME_SORT_CHANGED, MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes } from '../../../utils/array';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { stableSort } from '../../../utils/stable-sort';\nimport { trim } from '../../../utils/string';\nimport { defaultSortCompare } from './default-sort-compare'; // --- Constants ---\n\nvar MODEL_PROP_NAME_SORT_BY = 'sortBy';\nvar MODEL_EVENT_NAME_SORT_BY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_BY;\nvar MODEL_PROP_NAME_SORT_DESC = 'sortDesc';\nvar MODEL_EVENT_NAME_SORT_DESC = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_DESC;\nvar SORT_DIRECTION_ASC = 'asc';\nvar SORT_DIRECTION_DESC = 'desc';\nvar SORT_DIRECTION_LAST = 'last';\nvar SORT_DIRECTIONS = [SORT_DIRECTION_ASC, SORT_DIRECTION_DESC, SORT_DIRECTION_LAST]; // --- Props ---\n\nexport var props = (_props = {\n labelSortAsc: makeProp(PROP_TYPE_STRING, 'Click to sort Ascending'),\n labelSortClear: makeProp(PROP_TYPE_STRING, 'Click to clear sorting'),\n labelSortDesc: makeProp(PROP_TYPE_STRING, 'Click to sort Descending'),\n noFooterSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n noLocalSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n // Another prop that should have had a better name\n // It should be `noSortClear` (on non-sortable headers)\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n noSortReset: makeProp(PROP_TYPE_BOOLEAN, false)\n}, _defineProperty(_props, MODEL_PROP_NAME_SORT_BY, makeProp(PROP_TYPE_STRING)), _defineProperty(_props, \"sortCompare\", makeProp(PROP_TYPE_FUNCTION)), _defineProperty(_props, \"sortCompareLocale\", makeProp(PROP_TYPE_ARRAY_STRING)), _defineProperty(_props, \"sortCompareOptions\", makeProp(PROP_TYPE_OBJECT, {\n numeric: true\n})), _defineProperty(_props, MODEL_PROP_NAME_SORT_DESC, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortDirection\", makeProp(PROP_TYPE_STRING, SORT_DIRECTION_ASC, function (value) {\n return arrayIncludes(SORT_DIRECTIONS, value);\n})), _defineProperty(_props, \"sortIconLeft\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortNullLast\", makeProp(PROP_TYPE_BOOLEAN, false)), _props); // --- Mixin ---\n// @vue/component\n\nexport var sortingMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localSortBy: this[MODEL_PROP_NAME_SORT_BY] || '',\n localSortDesc: this[MODEL_PROP_NAME_SORT_DESC] || false\n };\n },\n computed: {\n localSorting: function localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting;\n },\n isSortable: function isSortable() {\n return this.computedFields.some(function (f) {\n return f.sortable;\n });\n },\n // Sorts the filtered items and returns a new array of the sorted items\n // When not sorted, the original items array will be returned\n sortedItems: function sortedItems() {\n var sortBy = this.localSortBy,\n sortDesc = this.localSortDesc,\n locale = this.sortCompareLocale,\n nullLast = this.sortNullLast,\n sortCompare = this.sortCompare,\n localSorting = this.localSorting;\n var items = (this.filteredItems || this.localItems || []).slice();\n\n var localeOptions = _objectSpread(_objectSpread({}, this.sortCompareOptions), {}, {\n usage: 'sort'\n });\n\n if (sortBy && localSorting) {\n var field = this.computedFieldsObj[sortBy] || {};\n var sortByFormatted = field.sortByFormatted;\n var formatter = isFunction(sortByFormatted) ?\n /* istanbul ignore next */\n sortByFormatted : sortByFormatted ? this.getFieldFormatter(sortBy) : undefined; // `stableSort` returns a new array, and leaves the original array intact\n\n return stableSort(items, function (a, b) {\n var result = null; // Call user provided `sortCompare` routine first\n\n if (isFunction(sortCompare)) {\n // TODO:\n // Change the `sortCompare` signature to the one of `defaultSortCompare`\n // with the next major version bump\n result = sortCompare(a, b, sortBy, sortDesc, formatter, localeOptions, locale);\n } // Fallback to built-in `defaultSortCompare` if `sortCompare`\n // is not defined or returns `null`/`false`\n\n\n if (isUndefinedOrNull(result) || result === false) {\n result = defaultSortCompare(a, b, {\n sortBy: sortBy,\n formatter: formatter,\n locale: locale,\n localeOptions: localeOptions,\n nullLast: nullLast\n });\n } // Negate result if sorting in descending order\n\n\n return (result || 0) * (sortDesc ? -1 : 1);\n });\n }\n\n return items;\n }\n },\n watch: (_watch = {\n /* istanbul ignore next: pain in the butt to test */\n isSortable: function isSortable(newValue) {\n if (newValue) {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n } else {\n this.$off(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n }\n }, _defineProperty(_watch, MODEL_PROP_NAME_SORT_DESC, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortDesc) {\n return;\n }\n\n this.localSortDesc = newValue || false;\n }), _defineProperty(_watch, MODEL_PROP_NAME_SORT_BY, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortBy) {\n return;\n }\n\n this.localSortBy = newValue || '';\n }), _defineProperty(_watch, \"localSortDesc\", function localSortDesc(newValue, oldValue) {\n // Emit update to sort-desc.sync\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_DESC, newValue);\n }\n }), _defineProperty(_watch, \"localSortBy\", function localSortBy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_BY, newValue);\n }\n }), _watch),\n created: function created() {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, event, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n _this.localSortDesc = false;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n var sortKey = !this.localSorting && field.sortKey ? field.sortKey : key;\n\n if (this.localSortBy === sortKey) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = sortKey; // this.localSortDesc = false\n\n toggleLocalSortDesc();\n }\n\n sortChanged = true;\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = '';\n toggleLocalSortDesc();\n sortChanged = true;\n }\n\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit(EVENT_NAME_SORT_CHANGED, this.context);\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses: function sortTheadThClasses(key, field, isFoot) {\n return {\n // If sortable and sortIconLeft are true, then place sort icon on the left\n 'b-table-sort-icon-left': field.sortable && this.sortIconLeft && !(isFoot && this.noFooterSorting)\n };\n },\n sortTheadThAttrs: function sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable; // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && this.localSortBy === key ? this.localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attribute\n\n return {\n 'aria-sort': ariaSort\n };\n },\n sortTheadThLabel: function sortTheadThLabel(key, field, isFoot) {\n // A label to be placed in an `.sr-only` element in the header cell\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No label if not a sortable table\n return null;\n }\n\n var sortable = field.sortable; // The correctness of these labels is very important for screen-reader users.\n\n var labelSorting = '';\n\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n labelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc;\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n labelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc; // Handle sortDirection setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n labelSorting = this.labelSortAsc;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n labelSorting = this.labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n labelSorting = this.localSortBy ? this.labelSortClear : '';\n } // Return the sr-only sort label or null if no label\n\n\n return trim(labelSorting) || null;\n }\n }\n});","import { get } from '../../../utils/get';\nimport { isDate, isFunction, isNumber, isNumeric, isUndefinedOrNull } from '../../../utils/inspect';\nimport { toFloat } from '../../../utils/number';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\n\nvar normalizeValue = function normalizeValue(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n }\n\n if (isNumeric(value)) {\n return toFloat(value, value);\n }\n\n return value;\n}; // Default sort compare routine\n//\n// TODO:\n// Add option to sort by multiple columns (tri-state per column,\n// plus order of columns in sort) where `sortBy` could be an array\n// of objects `[ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]`\n// or an array of arrays `[ ['foo','asc'], ['bar','desc'] ]`\n// Multisort will most likely be handled in `mixin-sort.js` by\n// calling this method for each sortBy\n\n\nexport var defaultSortCompare = function defaultSortCompare(a, b) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$sortBy = _ref.sortBy,\n sortBy = _ref$sortBy === void 0 ? null : _ref$sortBy,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === void 0 ? null : _ref$formatter,\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? undefined : _ref$locale,\n _ref$localeOptions = _ref.localeOptions,\n localeOptions = _ref$localeOptions === void 0 ? {} : _ref$localeOptions,\n _ref$nullLast = _ref.nullLast,\n nullLast = _ref$nullLast === void 0 ? false : _ref$nullLast;\n\n // Get the value by `sortBy`\n var aa = get(a, sortBy, null);\n var bb = get(b, sortBy, null); // Apply user-provided formatter\n\n if (isFunction(formatter)) {\n aa = formatter(aa, sortBy, a);\n bb = formatter(bb, sortBy, b);\n } // Internally normalize value\n // `null` / `undefined` => ''\n // `'0'` => `0`\n\n\n aa = normalizeValue(aa);\n bb = normalizeValue(bb);\n\n if (isDate(aa) && isDate(bb) || isNumber(aa) && isNumber(bb)) {\n // Special case for comparing dates and numbers\n // Internally dates are compared via their epoch number values\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n } else if (nullLast && aa === '' && bb !== '') {\n // Special case when sorting `null` / `undefined` / '' last\n return 1;\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting `null` / `undefined` / '' last\n return -1;\n } // Do localized string comparison\n\n\n return stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb), locale, localeOptions);\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN_STRING } from '../../../constants/props';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n stacked: makeProp(PROP_TYPE_BOOLEAN_STRING, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var stackedMixin = Vue.extend({\n props: props,\n computed: {\n isStacked: function isStacked() {\n var stacked = this.stacked; // `true` when always stacked, or returns breakpoint specified\n\n return stacked === '' ? true : stacked;\n },\n isStackedAlways: function isStackedAlways() {\n return this.isStacked === true;\n },\n stackedTableClasses: function stackedTableClasses() {\n var isStackedAlways = this.isStackedAlways;\n return _defineProperty({\n 'b-table-stacked': isStackedAlways\n }, \"b-table-stacked-\".concat(this.stacked), !isStackedAlways && this.isStacked);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { identity } from '../../../utils/identity';\nimport { isBoolean } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { attrsMixin } from '../../../mixins/attrs'; // Main `` render mixin\n// Includes all main table styling options\n// --- Props ---\n\nexport var props = {\n bordered: makeProp(PROP_TYPE_BOOLEAN, false),\n borderless: makeProp(PROP_TYPE_BOOLEAN, false),\n captionTop: makeProp(PROP_TYPE_BOOLEAN, false),\n dark: makeProp(PROP_TYPE_BOOLEAN, false),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n hover: makeProp(PROP_TYPE_BOOLEAN, false),\n noBorderCollapse: makeProp(PROP_TYPE_BOOLEAN, false),\n outlined: makeProp(PROP_TYPE_BOOLEAN, false),\n responsive: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n // If a string, it is assumed to be the table `max-height` value\n stickyHeader: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false),\n tableClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tableVariant: makeProp(PROP_TYPE_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tableRendererMixin = Vue.extend({\n mixins: [attrsMixin],\n provide: function provide() {\n return {\n bvTable: this\n };\n },\n // Don't place attributes on root element automatically,\n // as table could be wrapped in responsive `
`\n inheritAttrs: false,\n props: props,\n computed: {\n // Layout related computed props\n isResponsive: function isResponsive() {\n var responsive = this.responsive;\n responsive = responsive === '' ? true : responsive;\n return this.isStacked ? false : responsive;\n },\n isStickyHeader: function isStickyHeader() {\n var stickyHeader = this.stickyHeader;\n stickyHeader = stickyHeader === '' ? true : stickyHeader;\n return this.isStacked ? false : stickyHeader;\n },\n wrapperClasses: function wrapperClasses() {\n var isResponsive = this.isResponsive;\n return [this.isStickyHeader ? 'b-table-sticky-header' : '', isResponsive === true ? 'table-responsive' : isResponsive ? \"table-responsive-\".concat(this.responsive) : ''].filter(identity);\n },\n wrapperStyles: function wrapperStyles() {\n var isStickyHeader = this.isStickyHeader;\n return isStickyHeader && !isBoolean(isStickyHeader) ? {\n maxHeight: isStickyHeader\n } : {};\n },\n tableClasses: function tableClasses() {\n var hover = this.hover,\n tableVariant = this.tableVariant;\n hover = this.isTableSimple ? hover : hover && this.computedItems.length > 0 && !this.computedBusy;\n return [// User supplied classes\n this.tableClass, // Styling classes\n {\n 'table-striped': this.striped,\n 'table-hover': hover,\n 'table-dark': this.dark,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n 'table-sm': this.small,\n // The following are b-table custom styles\n border: this.outlined,\n 'b-table-fixed': this.fixed,\n 'b-table-caption-top': this.captionTop,\n 'b-table-no-border-collapse': this.noBorderCollapse\n }, tableVariant ? \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(tableVariant) : '', // Stacked table classes\n this.stackedTableClasses, // Selectable classes\n this.selectableTableClasses];\n },\n tableAttrs: function tableAttrs() {\n var items = this.computedItems,\n filteredItems = this.filteredItems,\n fields = this.computedFields,\n selectableTableAttrs = this.selectableTableAttrs; // Preserve user supplied aria-describedby, if provided in `$attrs`\n\n var adb = [(this.bvAttrs || {})['aria-describedby'], this.captionId].filter(identity).join(' ') || null;\n var ariaAttrs = this.isTableSimple ? {} : {\n 'aria-busy': this.computedBusy ? 'true' : 'false',\n 'aria-colcount': toString(fields.length),\n 'aria-describedby': adb\n };\n var rowCount = items && filteredItems && filteredItems.length > items.length ? toString(filteredItems.length) : null;\n return _objectSpread(_objectSpread(_objectSpread({\n // We set `aria-rowcount` before merging in `$attrs`,\n // in case user has supplied their own\n 'aria-rowcount': rowCount\n }, this.bvAttrs), {}, {\n // Now we can override any `$attrs` here\n id: this.safeId(),\n role: 'table'\n }, ariaAttrs), selectableTableAttrs);\n }\n },\n render: function render(h) {\n var wrapperClasses = this.wrapperClasses,\n renderCaption = this.renderCaption,\n renderColgroup = this.renderColgroup,\n renderThead = this.renderThead,\n renderTbody = this.renderTbody,\n renderTfoot = this.renderTfoot;\n var $content = [];\n\n if (this.isTableSimple) {\n $content.push(this.normalizeSlot());\n } else {\n // Build the `
`\n\n $content.push(renderColgroup ? renderColgroup() : null); // Build the ``\n\n $content.push(renderThead ? renderThead() : null); // Build the ``\n\n $content.push(renderTbody ? renderTbody() : null); // Build the ``\n\n $content.push(renderTfoot ? renderTfoot() : null);\n } // Assemble `
` (from caption mixin)\n $content.push(renderCaption ? renderCaption() : null); // Build the `
`\n\n\n var $table = h('table', {\n staticClass: 'table b-table',\n class: this.tableClasses,\n attrs: this.tableAttrs,\n key: 'b-table'\n }, $content.filter(identity)); // Add responsive/sticky wrapper if needed and return table\n\n return wrapperClasses.length > 0 ? h('div', {\n class: wrapperClasses,\n style: this.wrapperStyles,\n key: 'wrap'\n }, [$table]) : $table;\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TBODY } from '../../constants/components';\nimport { PROP_TYPE_OBJECT } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tbodyTransitionHandlers: makeProp(PROP_TYPE_OBJECT),\n tbodyTransitionProps: makeProp(PROP_TYPE_OBJECT)\n}, NAME_TBODY); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTbody = /*#__PURE__*/Vue.extend({\n name: NAME_TBODY,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTbody: function isTbody() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n isTransitionGroup: function isTransitionGroup() {\n return this.tbodyTransitionProps || this.tbodyTransitionHandlers;\n },\n tbodyAttrs: function tbodyAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n },\n tbodyProps: function tbodyProps() {\n var tbodyTransitionProps = this.tbodyTransitionProps;\n return tbodyTransitionProps ? _objectSpread(_objectSpread({}, tbodyTransitionProps), {}, {\n tag: 'tbody'\n }) : {};\n }\n },\n render: function render(h) {\n var data = {\n props: this.tbodyProps,\n attrs: this.tbodyAttrs\n };\n\n if (this.isTransitionGroup) {\n // We use native listeners if a transition group for any delegated events\n data.on = this.tbodyTransitionHandlers || {};\n data.nativeOn = this.bvListeners;\n } else {\n // Otherwise we place any listeners on the tbody element\n data.on = this.bvListeners;\n }\n\n return h(this.isTransitionGroup ? 'transition-group' : 'tbody', data, this.normalizeSlot());\n }\n});","import { closest, getAttr, getById, matches, select } from '../../../utils/dom';\nimport { EVENT_FILTER } from './constants';\nvar TABLE_TAG_NAMES = ['TD', 'TH', 'TR']; // Returns `true` if we should ignore the click/double-click/keypress event\n// Avoids having the user need to use `@click.stop` on the form control\n\nexport var filterEvent = function filterEvent(event) {\n // Exit early when we don't have a target element\n if (!event || !event.target) {\n /* istanbul ignore next */\n return false;\n }\n\n var el = event.target; // Exit early when element is disabled or a table element\n\n if (el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n } // Ignore the click when it was inside a dropdown menu\n\n\n if (closest('.dropdown-menu', el)) {\n return true;\n }\n\n var label = el.tagName === 'LABEL' ? el : closest('label', el); // If the label's form control is not disabled then we don't propagate event\n // Modern browsers have `label.control` that references the associated input, but IE 11\n // does not have this property on the label element, so we resort to DOM lookups\n\n if (label) {\n var labelFor = getAttr(label, 'for');\n var input = labelFor ? getById(labelFor) : select('input, select, textarea', label);\n\n if (input && !input.disabled) {\n return true;\n }\n } // Otherwise check if the event target matches one of the selectors in the\n // event filter (i.e. anchors, non disabled inputs, etc.)\n // Return `true` if we should ignore the event\n\n\n return matches(el, EVENT_FILTER);\n};","import { getSel, isElement } from '../../../utils/dom'; // Helper to determine if a there is an active text selection on the document page\n// Used to filter out click events caused by the mouse up at end of selection\n//\n// Accepts an element as only argument to test to see if selection overlaps or is\n// contained within the element\n\nexport var textSelectionActive = function textSelectionActive() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var sel = getSel();\n return sel && sel.toString().trim() !== '' && sel.containsNode && isElement(el) ?\n /* istanbul ignore next */\n sel.containsNode(el, true) : false;\n};","import { Vue } from '../../vue';\nimport { NAME_TH } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BTd, props as BTdProps } from './td'; // --- Props ---\n\nexport var props = makePropsConfigurable(BTdProps, NAME_TH); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTh = /*#__PURE__*/Vue.extend({\n name: NAME_TH,\n extends: BTd,\n props: props,\n computed: {\n tag: function tag() {\n return 'th';\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_HOVERED, EVENT_NAME_ROW_UNHOVERED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT_FUNCTION } from '../../../constants/props';\nimport { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots';\nimport { get } from '../../../utils/get';\nimport { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nimport { BTh } from '../th';\nimport { FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS } from './constants'; // --- Props ---\n\nexport var props = {\n detailsTdClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tbodyTrAttr: makeProp(PROP_TYPE_OBJECT_FUNCTION),\n tbodyTrClass: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_FUNCTION]))\n}; // --- Mixin ---\n// @vue/component\n\nexport var tbodyRowMixin = Vue.extend({\n props: props,\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n getTdValues: function getTdValues(item, key, tdValue, defaultValue) {\n var $parent = this.$parent;\n\n if (tdValue) {\n var value = get(item, key, '');\n\n if (isFunction(tdValue)) {\n return tdValue(value, key, item);\n } else if (isString(tdValue) && isFunction($parent[tdValue])) {\n return $parent[tdValue](value, key, item);\n }\n\n return tdValue;\n }\n\n return defaultValue;\n },\n getThValues: function getThValues(item, key, thValue, type, defaultValue) {\n var $parent = this.$parent;\n\n if (thValue) {\n var value = get(item, key, '');\n\n if (isFunction(thValue)) {\n return thValue(value, key, item, type);\n } else if (isString(thValue) && isFunction($parent[thValue])) {\n return $parent[thValue](value, key, item, type);\n }\n\n return thValue;\n }\n\n return defaultValue;\n },\n // Method to get the value for a field\n getFormattedValue: function getFormattedValue(item, field) {\n var key = field.key;\n var formatter = this.getFieldFormatter(key);\n var value = get(item, key, null);\n\n if (isFunction(formatter)) {\n value = formatter(value, key, item);\n }\n\n return isUndefinedOrNull(value) ? '' : value;\n },\n // Factory function methods\n toggleDetailsFactory: function toggleDetailsFactory(hasDetailsSlot, item) {\n var _this = this;\n\n // Returns a function to toggle a row's details slot\n return function () {\n if (hasDetailsSlot) {\n _this.$set(item, FIELD_KEY_SHOW_DETAILS, !item[FIELD_KEY_SHOW_DETAILS]);\n }\n };\n },\n // Row event handlers\n rowHovered: function rowHovered(event) {\n // `mouseenter` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_HOVERED, event);\n }\n },\n rowUnhovered: function rowUnhovered(event) {\n // `mouseleave` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_UNHOVERED, event);\n }\n },\n // Renders a TD or TH for a row's field\n renderTbodyRowCell: function renderTbodyRowCell(field, colIndex, item, rowIndex) {\n var _this2 = this;\n\n var isStacked = this.isStacked;\n var key = field.key,\n label = field.label,\n isRowHeader = field.isRowHeader;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var formatted = this.getFormattedValue(item, field);\n var stickyColumn = !isStacked && (this.isResponsive || this.stickyHeader) && field.stickyColumn; // We only uses the helper components for sticky columns to\n // improve performance of BTable/BTableLite by reducing the\n // total number of vue instances created during render\n\n var cellTag = stickyColumn ? isRowHeader ? BTh : BTd : isRowHeader ? 'th' : 'td';\n var cellVariant = item[FIELD_KEY_CELL_VARIANT] && item[FIELD_KEY_CELL_VARIANT][key] ? item[FIELD_KEY_CELL_VARIANT][key] : field.variant || null;\n var data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys could be duplicated)\n // TODO: Although we do prevent duplicate field keys...\n // So we could change this to: `row-${rowIndex}-cell-${key}`\n class: [field.class ? field.class : '', this.getTdValues(item, key, field.tdClass, '')],\n props: {},\n attrs: _objectSpread({\n 'aria-colindex': String(colIndex + 1)\n }, isRowHeader ? this.getThValues(item, key, field.thAttr, 'row', {}) : this.getTdValues(item, key, field.tdAttr, {})),\n key: \"row-\".concat(rowIndex, \"-cell-\").concat(colIndex, \"-\").concat(key)\n };\n\n if (stickyColumn) {\n // We are using the helper BTd or BTh\n data.props = {\n stackedHeading: isStacked ? label : null,\n stickyColumn: true,\n variant: cellVariant\n };\n } else {\n // Using native TD or TH element, so we need to\n // add in the attributes and variant class\n data.attrs['data-label'] = isStacked && !isUndefinedOrNull(label) ? toString(label) : null;\n data.attrs.role = isRowHeader ? 'rowheader' : 'cell';\n data.attrs.scope = isRowHeader ? 'row' : null; // Add in the variant class\n\n if (cellVariant) {\n data.class.push(\"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(cellVariant));\n }\n }\n\n var slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: get(item, key, ''),\n value: formatted,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item),\n detailsShowing: Boolean(item[FIELD_KEY_SHOW_DETAILS])\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n slotScope.rowSelected = this.isRowSelected(rowIndex);\n\n slotScope.selectRow = function () {\n return _this2.selectRow(rowIndex);\n };\n\n slotScope.unselectRow = function () {\n return _this2.unselectRow(rowIndex);\n };\n } // The new `v-slot` syntax doesn't like a slot name starting with\n // a square bracket and if using in-document HTML templates, the\n // v-slot attributes are lower-cased by the browser.\n // Switched to round bracket syntax to prevent confusion with\n // dynamic slot name syntax.\n // We look for slots in this order: `cell(${key})`, `cell(${key.toLowerCase()})`, 'cell()'\n // Slot names are now cached by mixin tbody in `this.$_bodyFieldSlotNameCache`\n // Will be `null` if no slot (or fallback slot) exists\n\n\n var slotName = this.$_bodyFieldSlotNameCache[key];\n var $childNodes = slotName ? this.normalizeSlot(slotName, slotScope) : toString(formatted);\n\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', [$childNodes])];\n } // Render either a td or th cell\n\n\n return h(cellTag, data, [$childNodes]);\n },\n // Renders an item's row (or rows if details supported)\n renderTbodyRow: function renderTbodyRow(item, rowIndex) {\n var _this3 = this;\n\n var fields = this.computedFields,\n striped = this.striped,\n primaryKey = this.primaryKey,\n currentPage = this.currentPage,\n perPage = this.perPage,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var rowShowDetails = item[FIELD_KEY_SHOW_DETAILS] && hasDetailsSlot;\n var hasRowClickHandler = this.$listeners[EVENT_NAME_ROW_CLICKED] || this.hasSelectableRowClick; // We can return more than one TR if rowDetails enabled\n\n var $rows = []; // Details ID needed for `aria-details` when details showing\n // We set it to `null` when not showing so that attribute\n // does not appear on the element\n\n var detailsId = rowShowDetails ? this.safeId(\"_details_\".concat(rowIndex, \"_\")) : null; // For each item data field in row\n\n var $tds = fields.map(function (field, colIndex) {\n return _this3.renderTbodyRowCell(field, colIndex, item, rowIndex);\n }); // Calculate the row number in the dataset (indexed from 1)\n\n var ariaRowIndex = null;\n\n if (currentPage && perPage && perPage > 0) {\n ariaRowIndex = String((currentPage - 1) * perPage + rowIndex + 1);\n } // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n\n\n var primaryKeyValue = toString(get(item, primaryKey)) || null;\n var rowKey = primaryKeyValue || toString(rowIndex); // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n\n var rowId = primaryKeyValue ? this.safeId(\"_row_\".concat(primaryKeyValue)) : null; // Selectable classes and attributes\n\n var selectableClasses = this.selectableRowClasses ? this.selectableRowClasses(rowIndex) : {};\n var selectableAttrs = this.selectableRowAttrs ? this.selectableRowAttrs(rowIndex) : {}; // Additional classes and attributes\n\n var userTrClasses = isFunction(tbodyTrClass) ? tbodyTrClass(item, 'row') : tbodyTrClass;\n var userTrAttrs = isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(item, 'row') : tbodyTrAttr; // Add the item row\n\n $rows.push(h(BTr, {\n class: [userTrClasses, selectableClasses, rowShowDetails ? 'b-table-has-details' : ''],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({\n id: rowId\n }, userTrAttrs), {}, {\n // Users cannot override the following attributes\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': primaryKeyValue || null,\n 'aria-details': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex\n }, selectableAttrs),\n on: {\n // Note: These events are not A11Y friendly!\n mouseenter: this.rowHovered,\n mouseleave: this.rowUnhovered\n },\n key: \"__b-table-row-\".concat(rowKey, \"__\"),\n ref: 'item-rows',\n refInFor: true\n }, $tds)); // Row Details slot\n\n if (rowShowDetails) {\n var detailsScope = {\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item)\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n detailsScope.rowSelected = this.isRowSelected(rowIndex);\n\n detailsScope.selectRow = function () {\n return _this3.selectRow(rowIndex);\n };\n\n detailsScope.unselectRow = function () {\n return _this3.unselectRow(rowIndex);\n };\n } // Render the details slot in a TD\n\n\n var $details = h(BTd, {\n props: {\n colspan: fields.length\n },\n class: this.detailsTdClass\n }, [this.normalizeSlot(SLOT_NAME_ROW_DETAILS, detailsScope)]); // Add a hidden row to keep table row striping consistent when details showing\n // Only added if the table is striped\n\n if (striped) {\n $rows.push( // We don't use `BTr` here as we don't need the extra functionality\n h('tr', {\n staticClass: 'd-none',\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n },\n key: \"__b-table-details-stripe__\".concat(rowKey)\n }));\n } // Add the actual details row\n\n\n var userDetailsTrClasses = isFunction(this.tbodyTrClass) ?\n /* istanbul ignore next */\n this.tbodyTrClass(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrClass;\n var userDetailsTrAttrs = isFunction(this.tbodyTrAttr) ?\n /* istanbul ignore next */\n this.tbodyTrAttr(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrAttr;\n $rows.push(h(BTr, {\n staticClass: 'b-table-details',\n class: [userDetailsTrClasses],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({}, userDetailsTrAttrs), {}, {\n // Users cannot override the following attributes\n id: detailsId,\n tabindex: '-1'\n }),\n key: \"__b-table-details__\".concat(rowKey)\n }, [$details]));\n } else if (hasDetailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h());\n\n if (striped) {\n // Add extra placeholder if table is striped\n $rows.push(h());\n }\n } // Return the row(s)\n\n\n return $rows;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_CONTEXTMENU, EVENT_NAME_ROW_DBLCLICKED, EVENT_NAME_ROW_MIDDLE_CLICKED } from '../../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_ENTER, CODE_HOME, CODE_SPACE, CODE_UP } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING } from '../../../constants/props';\nimport { arrayIncludes, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, isActiveElement, isElement } from '../../../utils/dom';\nimport { stopEvent } from '../../../utils/events';\nimport { sortKeys } from '../../../utils/object';\nimport { makeProp, pluckProps } from '../../../utils/props';\nimport { BTbody, props as BTbodyProps } from '../tbody';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active';\nimport { tbodyRowMixin, props as tbodyRowProps } from './mixin-tbody-row'; // --- Helper methods ---\n\nvar getCellSlotName = function getCellSlotName(value) {\n return \"cell(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = sortKeys(_objectSpread(_objectSpread(_objectSpread({}, BTbodyProps), tbodyRowProps), {}, {\n tbodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})); // --- Mixin ---\n// @vue/component\n\nexport var tbodyMixin = Vue.extend({\n mixins: [tbodyRowMixin],\n props: props,\n beforeDestroy: function beforeDestroy() {\n this.$_bodyFieldSlotNameCache = null;\n },\n methods: {\n // Returns all the item TR elements (excludes detail and spacer rows)\n // `this.$refs['item-rows']` is an array of item TR components/elements\n // Rows should all be `` components, but we map to TR elements\n // Also note that `this.$refs['item-rows']` may not always be in document order\n getTbodyTrs: function getTbodyTrs() {\n var $refs = this.$refs;\n var tbody = $refs.tbody ? $refs.tbody.$el || $refs.tbody : null;\n var trs = ($refs['item-rows'] || []).map(function (tr) {\n return tr.$el || tr;\n });\n return tbody && tbody.children && tbody.children.length > 0 && trs && trs.length > 0 ? arrayFrom(tbody.children).filter(function (tr) {\n return arrayIncludes(trs, tr);\n }) :\n /* istanbul ignore next */\n [];\n },\n // Returns index of a particular TBODY item TR\n // We set `true` on closest to include self in result\n getTbodyTrIndex: function getTbodyTrIndex(el) {\n /* istanbul ignore next: should not normally happen */\n if (!isElement(el)) {\n return -1;\n }\n\n var tr = el.tagName === 'TR' ? el : closest('tr', el, true);\n return tr ? this.getTbodyTrs().indexOf(tr) : -1;\n },\n // Emits a row event, with the item object, row index and original event\n emitTbodyRowEvent: function emitTbodyRowEvent(type, event) {\n if (type && this.hasListener(type) && event && event.target) {\n var rowIndex = this.getTbodyTrIndex(event.target);\n\n if (rowIndex > -1) {\n // The array of TRs correlate to the `computedItems` array\n var item = this.computedItems[rowIndex];\n this.$emit(type, item, rowIndex, event);\n }\n }\n },\n tbodyRowEvtStopped: function tbodyRowEvtStopped(event) {\n return this.stopIfBusy && this.stopIfBusy(event);\n },\n // Delegated row event handlers\n onTbodyRowKeydown: function onTbodyRowKeydown(event) {\n // Keyboard navigation and row click emulation\n var target = event.target,\n keyCode = event.keyCode;\n\n if (this.tbodyRowEvtStopped(event) || target.tagName !== 'TR' || !isActiveElement(target) || target.tabIndex !== 0) {\n // Early exit if not an item row TR\n return;\n }\n\n if (arrayIncludes([CODE_ENTER, CODE_SPACE], keyCode)) {\n // Emulated click for keyboard users, transfer to click handler\n stopEvent(event);\n this.onTBodyRowClicked(event);\n } else if (arrayIncludes([CODE_UP, CODE_DOWN, CODE_HOME, CODE_END], keyCode)) {\n // Keyboard navigation\n var rowIndex = this.getTbodyTrIndex(target);\n\n if (rowIndex > -1) {\n stopEvent(event);\n var trs = this.getTbodyTrs();\n var shift = event.shiftKey;\n\n if (keyCode === CODE_HOME || shift && keyCode === CODE_UP) {\n // Focus first row\n attemptFocus(trs[0]);\n } else if (keyCode === CODE_END || shift && keyCode === CODE_DOWN) {\n // Focus last row\n attemptFocus(trs[trs.length - 1]);\n } else if (keyCode === CODE_UP && rowIndex > 0) {\n // Focus previous row\n attemptFocus(trs[rowIndex - 1]);\n } else if (keyCode === CODE_DOWN && rowIndex < trs.length - 1) {\n // Focus next row\n attemptFocus(trs[rowIndex + 1]);\n }\n }\n }\n },\n onTBodyRowClicked: function onTBodyRowClicked(event) {\n // Don't emit event when the table is busy, the user clicked\n // on a non-disabled control or is selecting text\n if (this.tbodyRowEvtStopped(event) || filterEvent(event) || textSelectionActive(this.$el)) {\n return;\n }\n\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CLICKED, event);\n },\n onTbodyRowMiddleMouseRowClicked: function onTbodyRowMiddleMouseRowClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && event.which === 2) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_MIDDLE_CLICKED, event);\n }\n },\n onTbodyRowContextmenu: function onTbodyRowContextmenu(event) {\n if (!this.tbodyRowEvtStopped(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CONTEXTMENU, event);\n }\n },\n onTbodyRowDblClicked: function onTbodyRowDblClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && !filterEvent(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_DBLCLICKED, event);\n }\n },\n // Render the tbody element and children\n // Note:\n // Row hover handlers are handled by the tbody-row mixin\n // As mouseenter/mouseleave events do not bubble\n renderTbody: function renderTbody() {\n var _this = this;\n\n var items = this.computedItems,\n renderBusy = this.renderBusy,\n renderTopRow = this.renderTopRow,\n renderEmpty = this.renderEmpty,\n renderBottomRow = this.renderBottomRow;\n var h = this.$createElement;\n var hasRowClickHandler = this.hasListener(EVENT_NAME_ROW_CLICKED) || this.hasSelectableRowClick; // Prepare the tbody rows\n\n var $rows = []; // Add the item data rows or the busy slot\n\n var $busy = renderBusy ? renderBusy() : null;\n\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy);\n } else {\n // Table isn't busy, or we don't have a busy slot\n // Create a slot cache for improved performance when looking up cell slot names\n // Values will be keyed by the field's `key` and will store the slot's name\n // Slots could be dynamic (i.e. `v-if`), so we must compute on each render\n // Used by tbody-row mixin render helper\n var cache = {};\n var defaultSlotName = getCellSlotName();\n defaultSlotName = this.hasNormalizedSlot(defaultSlotName) ? defaultSlotName : null;\n this.computedFields.forEach(function (field) {\n var key = field.key;\n var slotName = getCellSlotName(key);\n var lowercaseSlotName = getCellSlotName(key.toLowerCase());\n cache[key] = _this.hasNormalizedSlot(slotName) ? slotName : _this.hasNormalizedSlot(lowercaseSlotName) ?\n /* istanbul ignore next */\n lowercaseSlotName : defaultSlotName;\n }); // Created as a non-reactive property so to not trigger component updates\n // Must be a fresh object each render\n\n this.$_bodyFieldSlotNameCache = cache; // Add static top row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderTopRow ? renderTopRow() : h()); // Render the rows\n\n items.forEach(function (item, rowIndex) {\n // Render the individual item row (rows if details slot)\n $rows.push(_this.renderTbodyRow(item, rowIndex));\n }); // Empty items / empty filtered row slot (only shows if `items.length < 1`)\n\n $rows.push(renderEmpty ? renderEmpty() : h()); // Static bottom row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderBottomRow ? renderBottomRow() : h());\n } // Note: these events will only emit if a listener is registered\n\n\n var handlers = {\n auxclick: this.onTbodyRowMiddleMouseRowClicked,\n // TODO:\n // Perhaps we do want to automatically prevent the\n // default context menu from showing if there is a\n // `row-contextmenu` listener registered\n contextmenu: this.onTbodyRowContextmenu,\n // The following event(s) is not considered A11Y friendly\n dblclick: this.onTbodyRowDblClicked // Hover events (`mouseenter`/`mouseleave`) are handled by `tbody-row` mixin\n\n }; // Add in click/keydown listeners if needed\n\n if (hasRowClickHandler) {\n handlers.click = this.onTBodyRowClicked;\n handlers.keydown = this.onTbodyRowKeydown;\n } // Assemble rows into the tbody\n\n\n var $tbody = h(BTbody, {\n class: this.tbodyClass || null,\n props: pluckProps(BTbodyProps, this.$props),\n // BTbody transfers all native event listeners to the root element\n // TODO: Only set the handlers if the table is not busy\n on: handlers,\n ref: 'tbody'\n }, $rows); // Return the assembled tbody\n\n return $tbody;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TFOOT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Supported values: 'lite', 'dark', or null\n footVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_TFOOT); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTfoot = /*#__PURE__*/Vue.extend({\n name: NAME_TFOOT,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTfoot: function isTfoot() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n tfootClasses: function tfootClasses() {\n return [this.footVariant ? \"thead-\".concat(this.footVariant) : null];\n },\n tfootAttrs: function tfootAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'rowgroup'\n });\n }\n },\n render: function render(h) {\n return h('tfoot', {\n class: this.tfootClasses,\n attrs: this.tfootAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots';\nimport { makeProp } from '../../../utils/props';\nimport { BTfoot } from '../tfoot'; // --- Props ---\n\nexport var props = {\n footClone: makeProp(PROP_TYPE_BOOLEAN, false),\n // Any Bootstrap theme variant (or custom)\n // Falls back to `headRowVariant`\n footRowVariant: makeProp(PROP_TYPE_STRING),\n // 'dark', 'light', or `null` (or custom)\n footVariant: makeProp(PROP_TYPE_STRING),\n tfootClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tfootTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tfootMixin = Vue.extend({\n props: props,\n methods: {\n renderTFootCustom: function renderTFootCustom() {\n var h = this.$createElement;\n\n if (this.hasNormalizedSlot(SLOT_NAME_CUSTOM_FOOT)) {\n return h(BTfoot, {\n class: this.tfootClass || null,\n props: {\n footVariant: this.footVariant || this.headVariant || null\n },\n key: 'bv-tfoot-custom'\n }, this.normalizeSlot(SLOT_NAME_CUSTOM_FOOT, {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n }));\n }\n\n return h();\n },\n renderTfoot: function renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom();\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_THEAD } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Also sniffed by `` / `` / ``\n // Supported values: 'lite', 'dark', or `null`\n headVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_THEAD); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BThead = /*#__PURE__*/Vue.extend({\n name: NAME_THEAD,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isThead: function isThead() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n theadClasses: function theadClasses() {\n return [this.headVariant ? \"thead-\".concat(this.headVariant) : null];\n },\n theadAttrs: function theadAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('thead', {\n class: this.theadClasses,\n attrs: this.theadAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_HEAD_CLICKED } from '../../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_THEAD_TOP } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { htmlOrText } from '../../../utils/html';\nimport { identity } from '../../../utils/identity';\nimport { isUndefinedOrNull } from '../../../utils/inspect';\nimport { noop } from '../../../utils/noop';\nimport { makeProp } from '../../../utils/props';\nimport { startCase } from '../../../utils/string';\nimport { BThead } from '../thead';\nimport { BTfoot } from '../tfoot';\nimport { BTr } from '../tr';\nimport { BTh } from '../th';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active'; // --- Helper methods ---\n\nvar getHeadSlotName = function getHeadSlotName(value) {\n return \"head(\".concat(value || '', \")\");\n};\n\nvar getFootSlotName = function getFootSlotName(value) {\n return \"foot(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = {\n // Any Bootstrap theme variant (or custom)\n headRowVariant: makeProp(PROP_TYPE_STRING),\n // 'light', 'dark' or `null` (or custom)\n headVariant: makeProp(PROP_TYPE_STRING),\n theadClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n theadTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var theadMixin = Vue.extend({\n props: props,\n methods: {\n fieldClasses: function fieldClasses(field) {\n // Header field (
) classes\n return [field.class ? field.class : '', field.thClass ? field.thClass : ''];\n },\n headClicked: function headClicked(event, field, isFoot) {\n if (this.stopIfBusy && this.stopIfBusy(event)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if (filterEvent(event)) {\n // Clicked on a non-disabled control so ignore\n return;\n } else if (textSelectionActive(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n stopEvent(event);\n this.$emit(EVENT_NAME_HEAD_CLICKED, field.key, field, event, isFoot);\n },\n renderThead: function renderThead() {\n var _this = this;\n\n var isFoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var fields = this.computedFields,\n isSortable = this.isSortable,\n isSelectable = this.isSelectable,\n headVariant = this.headVariant,\n footVariant = this.footVariant,\n headRowVariant = this.headRowVariant,\n footRowVariant = this.footRowVariant;\n var h = this.$createElement; // In always stacked mode, we don't bother rendering the head/foot\n // Or if no field headings (empty table)\n\n if (this.isStackedAlways || fields.length === 0) {\n return h();\n }\n\n var hasHeadClickListener = isSortable || this.hasListener(EVENT_NAME_HEAD_CLICKED); // Reference to `selectAllRows` and `clearSelected()`, if table is selectable\n\n var selectAllRows = isSelectable ? this.selectAllRows : noop;\n var clearSelected = isSelectable ? this.clearSelected : noop; // Helper function to generate a field cell\n\n var makeCell = function makeCell(field, colIndex) {\n var label = field.label,\n labelHtml = field.labelHtml,\n variant = field.variant,\n stickyColumn = field.stickyColumn,\n key = field.key;\n var ariaLabel = null;\n\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n\n /* istanbul ignore next */\n ariaLabel = startCase(field.key);\n }\n\n var on = {};\n\n if (hasHeadClickListener) {\n on.click = function (event) {\n _this.headClicked(event, field, isFoot);\n };\n\n on.keydown = function (event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n _this.headClicked(event, field, isFoot);\n }\n };\n }\n\n var sortAttrs = isSortable ? _this.sortTheadThAttrs(key, field, isFoot) : {};\n var sortClass = isSortable ? _this.sortTheadThClasses(key, field, isFoot) : null;\n var sortLabel = isSortable ? _this.sortTheadThLabel(key, field, isFoot) : null;\n var data = {\n class: [_this.fieldClasses(field), sortClass],\n props: {\n variant: variant,\n stickyColumn: stickyColumn\n },\n style: field.thStyle || {},\n attrs: _objectSpread(_objectSpread({\n // We only add a `tabindex` of `0` if there is a head-clicked listener\n // and the current field is sortable\n tabindex: hasHeadClickListener && field.sortable ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n 'aria-colindex': colIndex + 1,\n 'aria-label': ariaLabel\n }, _this.getThValues(null, key, field.thAttr, isFoot ? 'foot' : 'head', {})), sortAttrs),\n on: on,\n key: key\n }; // Handle edge case where in-document templates are used with new\n // `v-slot:name` syntax where the browser lower-cases the v-slot's\n // name (attributes become lower cased when parsed by the browser)\n // We have replaced the square bracket syntax with round brackets\n // to prevent confusion with dynamic slot names\n\n var slotNames = [getHeadSlotName(key), getHeadSlotName(key.toLowerCase()), getHeadSlotName()]; // Footer will fallback to header slot names\n\n if (isFoot) {\n slotNames = [getFootSlotName(key), getFootSlotName(key.toLowerCase()), getFootSlotName()].concat(_toConsumableArray(slotNames));\n }\n\n var scope = {\n label: label,\n column: key,\n field: field,\n isFoot: isFoot,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n var $content = _this.normalizeSlot(slotNames, scope) || h('div', {\n domProps: htmlOrText(labelHtml, label)\n });\n var $srLabel = sortLabel ? h('span', {\n staticClass: 'sr-only'\n }, \" (\".concat(sortLabel, \")\")) : null; // Return the header cell\n\n return h(BTh, data, [$content, $srLabel].filter(identity));\n }; // Generate the array of cells\n\n\n var $cells = fields.map(makeCell).filter(identity); // Generate the row(s)\n\n var $trs = [];\n\n if (isFoot) {\n $trs.push(h(BTr, {\n class: this.tfootTrClass,\n props: {\n variant: isUndefinedOrNull(footRowVariant) ? headRowVariant :\n /* istanbul ignore next */\n footRowVariant\n }\n }, $cells));\n } else {\n var scope = {\n columns: fields.length,\n fields: fields,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n $trs.push(this.normalizeSlot(SLOT_NAME_THEAD_TOP, scope) || h());\n $trs.push(h(BTr, {\n class: this.theadTrClass,\n props: {\n variant: headRowVariant\n }\n }, $cells));\n }\n\n return h(isFoot ? BTfoot : BThead, {\n class: (isFoot ? this.tfootClass : this.theadClass) || null,\n props: isFoot ? {\n footVariant: footVariant || headVariant || null\n } : {\n headVariant: headVariant || null\n },\n key: isFoot ? 'bv-tfoot' : 'bv-thead'\n }, $trs);\n }\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TOP_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var topRowMixin = Vue.extend({\n methods: {\n renderTopRow: function renderTopRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_TOP_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-top-row',\n class: [isFunction(tbodyTrClass) ? tbodyTrClass(null, 'row-top') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ? tbodyTrAttr(null, 'row-top') : tbodyTrAttr,\n key: 'b-top-row'\n }, [this.normalizeSlot(SLOT_NAME_TOP_ROW, {\n columns: fields.length,\n fields: fields\n })]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { bottomRowMixin, props as bottomRowProps } from './helpers/mixin-bottom-row';\nimport { busyMixin, props as busyProps } from './helpers/mixin-busy';\nimport { captionMixin, props as captionProps } from './helpers/mixin-caption';\nimport { colgroupMixin, props as colgroupProps } from './helpers/mixin-colgroup';\nimport { emptyMixin, props as emptyProps } from './helpers/mixin-empty';\nimport { filteringMixin, props as filteringProps } from './helpers/mixin-filtering';\nimport { itemsMixin, props as itemsProps } from './helpers/mixin-items';\nimport { paginationMixin, props as paginationProps } from './helpers/mixin-pagination';\nimport { providerMixin, props as providerProps } from './helpers/mixin-provider';\nimport { selectableMixin, props as selectableProps } from './helpers/mixin-selectable';\nimport { sortingMixin, props as sortingProps } from './helpers/mixin-sorting';\nimport { stackedMixin, props as stackedProps } from './helpers/mixin-stacked';\nimport { tableRendererMixin, props as tableRendererProps } from './helpers/mixin-table-renderer';\nimport { tbodyMixin, props as tbodyProps } from './helpers/mixin-tbody';\nimport { tfootMixin, props as tfootProps } from './helpers/mixin-tfoot';\nimport { theadMixin, props as theadProps } from './helpers/mixin-thead';\nimport { topRowMixin, props as topRowProps } from './helpers/mixin-top-row'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), bottomRowProps), busyProps), captionProps), colgroupProps), emptyProps), filteringProps), itemsProps), paginationProps), providerProps), selectableProps), sortingProps), stackedProps), tableRendererProps), tbodyProps), tfootProps), theadProps), topRowProps)), NAME_TABLE); // --- Main component ---\n// @vue/component\n\nexport var BTable = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE,\n // Order of mixins is important!\n // They are merged from first to last, followed by this component\n mixins: [// General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin, // Required table mixins\n itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin, // Table features mixins\n stackedMixin, filteringMixin, sortingMixin, paginationMixin, captionMixin, colgroupMixin, selectableMixin, emptyMixin, topRowMixin, bottomRowMixin, busyMixin, providerMixin],\n props: props // Render function is provided by `tableRendererMixin`\n\n});","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","'use strict';\n\nfunction fuzzysearch (needle, haystack) {\n var tlen = haystack.length;\n var qlen = needle.length;\n if (qlen > tlen) {\n return false;\n }\n if (qlen === tlen) {\n return needle === haystack;\n }\n outer: for (var i = 0, j = 0; i < qlen; i++) {\n var nch = needle.charCodeAt(i);\n while (j < tlen) {\n if (haystack.charCodeAt(j++) === nch) {\n continue outer;\n }\n }\n return false;\n }\n return true;\n}\n\nmodule.exports = fuzzysearch;\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_INVALID_FEEDBACK } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM_INVALID_FEEDBACK); // --- Main component ---\n// @vue/component\n\nexport var BFormInvalidFeedback = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INVALID_FEEDBACK,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tooltip = props.tooltip,\n ariaLive = props.ariaLive;\n var show = props.forceShow === true || props.state === false;\n return h(props.tag, mergeData(data, {\n class: {\n 'd-block': show,\n 'invalid-feedback': !tooltip,\n 'invalid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }), children);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"inherit\"}},[_c('filters',{attrs:{\"is-loaded\":_vm.dataTableIsLoaded,\"don-vis\":_vm.donVis},on:{\"fetch-data\":_vm.fetchData}}),_c('data-table',{attrs:{\"is-loaded\":_vm.dataTableIsLoaded,\"data-table\":_vm.dataTable,\"total-list\":_vm.totalList,\"data-meta\":_vm.dataMeta},on:{\"update-pagination\":_vm.pagination,\"update-perpage\":_vm.perpage,\"update-searchquery\":_vm.searchquery}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-actions',{staticClass:\"m-50\",attrs:{\"title\":\"Tiêu chí\",\"action-collapse\":\"\"}},[_c('b-card-text',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Họ và Tên\",\"label-for\":\"hoVaTen\"}},[_c('b-form-input',{attrs:{\"id\":\"hoVaTen\",\"trim\":\"\",\"placeholder\":\"Họ và Tên\"},model:{value:(_vm.formfilters.hoVaTen),callback:function ($$v) {_vm.$set(_vm.formfilters, \"hoVaTen\", $$v)},expression:\"formfilters.hoVaTen\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"CMND/CCCD\",\"label-for\":\"soCmnd\"}},[_c('b-form-input',{attrs:{\"id\":\"soCmnd\",\"trim\":\"\",\"placeholder\":\"CMND/CCCD\"},model:{value:(_vm.formfilters.soCmnd),callback:function ($$v) {_vm.$set(_vm.formfilters, \"soCmnd\", $$v)},expression:\"formfilters.soCmnd\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Đơn vị\"}},[_c('treeselect',{attrs:{\"options\":_vm.donVis,\"value-format\":\"object\",\"searchable\":true,\"show-count\":true,\"default-expand-level\":1,\"normalizer\":_vm.normalizer,\"placeholder\":\"Chọn đơn vị\"},on:{\"select\":_vm.formatDonVis,\"input\":_vm.onChangeDonVi},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Phòng ban\",\"label-for\":\"phongBan\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.listPhongBan,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"phongBan\"},model:{value:(_vm.formfilters.phongBan),callback:function ($$v) {_vm.$set(_vm.formfilters, \"phongBan\", $$v)},expression:\"formfilters.phongBan\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Chức vụ\",\"label-for\":\"chucVu\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DT_DM_CHUCVU,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"chucVu\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.chucVu),callback:function ($$v) {_vm.$set(_vm.formfilters, \"chucVu\", $$v)},expression:\"formfilters.chucVu\"}})],1)],1)],1)],1),_c('b-card-text',[_c('b-collapse',{staticClass:\"mt-0\",attrs:{\"id\":\"collapse-1\"}},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Ngạch chức danh\",\"label-for\":\"ngach\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"label\":\"name\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_NGACHCHUCDANH,\"clearable\":true,\"disabled\":_vm.isLoaded,\"reduce\":function (val) { return val; },\"input-id\":\"ngach\"},scopedSlots:_vm._u([{key:\"selected-option\",fn:function(option){return [_c('div',{staticClass:\"flex\"},[_c('div',{},[_c('span',[_vm._v(_vm._s(option.code)+\"-\"+_vm._s(option.name))])])])]}},{key:\"option\",fn:function(option){return [_vm._v(\" \"+_vm._s(option.code)+\"-\"+_vm._s(option.name)+\" \")]}}]),model:{value:(_vm.formfilters.ngach),callback:function ($$v) {_vm.$set(_vm.formfilters, \"ngach\", $$v)},expression:\"formfilters.ngach\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Bậc lương\",\"label-for\":\"bac\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_BACLUONG,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"bac\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.bac),callback:function ($$v) {_vm.$set(_vm.formfilters, \"bac\", $$v)},expression:\"formfilters.bac\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Loại biên chế(đối tượng)\",\"label-for\":\"bienChe\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_LOAIHOSO,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"bienChe\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.bienChe),callback:function ($$v) {_vm.$set(_vm.formfilters, \"bienChe\", $$v)},expression:\"formfilters.bienChe\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Dân tộc\",\"label-for\":\"danToc\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_DANTOC,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"danToc\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.danToc),callback:function ($$v) {_vm.$set(_vm.formfilters, \"danToc\", $$v)},expression:\"formfilters.danToc\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Giới tính\",\"label-for\":\"gioiTinh\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_GIOITINH,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"gioiTinh\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.gioiTinh),callback:function ($$v) {_vm.$set(_vm.formfilters, \"gioiTinh\", $$v)},expression:\"formfilters.gioiTinh\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Tôn giáo\",\"label-for\":\"tonGiao\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_TONGIAO,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"tonGiao\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.tonGiao),callback:function ($$v) {_vm.$set(_vm.formfilters, \"tonGiao\", $$v)},expression:\"formfilters.tonGiao\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Trình độ giáo dục phổ thông\",\"label-for\":\"trinhDoVanHoa\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_GIAODUCPHOTHONG,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"trinhDoVanHoa\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.trinhDoVanHoa),callback:function ($$v) {_vm.$set(_vm.formfilters, \"trinhDoVanHoa\", $$v)},expression:\"formfilters.trinhDoVanHoa\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Trình độ tiếng anh\",\"label-for\":\"tiengAnh\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_TRINHDONGOAINGU,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"tiengAnh\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.tiengAnh),callback:function ($$v) {_vm.$set(_vm.formfilters, \"tiengAnh\", $$v)},expression:\"formfilters.tiengAnh\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Trình độ tin học\",\"label-for\":\"tinHoc\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_TRINHDOTINHOC,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"tinHoc\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.tinHoc),callback:function ($$v) {_vm.$set(_vm.formfilters, \"tinHoc\", $$v)},expression:\"formfilters.tinHoc\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Trình độ đào tạo\",\"label-for\":\"trinhDoDaoTao\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_TRINHDODAOTAO,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"trinhDoDaoTao\"},model:{value:(_vm.formfilters.trinhDoDaoTao),callback:function ($$v) {_vm.$set(_vm.formfilters, \"trinhDoDaoTao\", $$v)},expression:\"formfilters.trinhDoDaoTao\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Lý luận chính trị\",\"label-for\":\"lyLuanChinhTri\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_TRINHDOLLCT,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"lyLuanChinhTri\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.lyLuanChinhTri),callback:function ($$v) {_vm.$set(_vm.formfilters, \"lyLuanChinhTri\", $$v)},expression:\"formfilters.lyLuanChinhTri\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Quản lý nhà nước\",\"label-for\":\"quanLyNhaNuoc\"}},[_c('v-select',{attrs:{\"placeholder\":\"\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.DM_TRINHDOQLNN,\"reduce\":function (val) { return val; },\"label\":\"name\",\"clearable\":true,\"disabled\":_vm.isLoaded,\"input-id\":\"quanLyNhaNuoc\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar name = ref.name;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(name)+\" \")])]}}]),model:{value:(_vm.formfilters.quanLyNhaNuoc),callback:function ($$v) {_vm.$set(_vm.formfilters, \"quanLyNhaNuoc\", $$v)},expression:\"formfilters.quanLyNhaNuoc\"}})],1)],1)],1)],1)],1),_c('b-card-text',{staticClass:\"d-flex justify-content-center\"},[(_vm.isShow)?_c('feather-icon',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.collapse-1\",modifiers:{\"collapse-1\":true}}],staticClass:\"text-center\",attrs:{\"icon\":\"ChevronsDownIcon\",\"size\":\"18\"},on:{\"click\":_vm.showSearch}}):_c('feather-icon',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.collapse-1\",modifiers:{\"collapse-1\":true}}],staticClass:\"text-center\",attrs:{\"icon\":\"ChevronsUpIcon\",\"size\":\"18\"},on:{\"click\":_vm.showSearch}})],1),_c('b-card-text',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{staticClass:\"mb-1 mb-sm-0 mr-0 mr-sm-1 tex\",attrs:{\"variant\":\"primary\",\"block\":_vm.$store.getters['app/currentBreakPoint'] === 'xs',\"disabled\":_vm.isLoaded},on:{\"click\":_vm.onSearch}},[_vm._v(\" Tra cứu \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable */\r\n\r\nimport { ref, watch, computed } from \"@vue/composition-api\";\r\nimport store from \"@/store\";\r\n\r\n// Notification\r\nimport { useToast } from \"vue-toastification/composition\";\r\nimport { useRouter } from \"@core/utils/utils\";\r\nimport ToastificationContent from \"@core/components/toastification/ToastificationContent.vue\";\r\n\r\nimport { CanBoCongChucTraCuu as getList } from \"@/services/api/HoSoCanBoCongChuc/CanBoCongChucService\";\r\nimport { GetTree } from \"@/services/api/DefaultTemplate/DonViService\";\r\n\r\nimport { unGroupList } from \"@/userlibs/globalLibs\";\r\n\r\nexport default function useDonViService() {\r\n const toast = useToast();\r\n const { route, router } = useRouter();\r\n const refUserListTable = ref(null);\r\n\r\n const perPage = ref(10);\r\n\r\n const currentPage = ref(1);\r\n\r\n const perPageOptions = [2, 10, 25, 50, 100];\r\n\r\n const searchQuery = ref(\"\");\r\n const sortBy = ref(\"id\");\r\n const isSortDirDesc = ref(true);\r\n\r\n const getDataList = (ctx, callback) => {\r\n getList(ctx).then((response) => {\r\n if (!response.isError) {\r\n const { data, totalRows } = response.data;\r\n callback(response.data);\r\n } else {\r\n callback(null);\r\n toast({\r\n component: ToastificationContent,\r\n props: {\r\n title: \"Thất bại\",\r\n icon: \"AlertTriangleIcon\",\r\n variant: \"danger\",\r\n text: response.message,\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n const getDonVi = (ctx, callback) => {\r\n GetTree().then((response) => {\r\n if (response.data && response.data.length < 1) {\r\n router.replace(\"/\").then(() => {\r\n toast({\r\n component: ToastificationContent,\r\n props: {\r\n title: \"Error: Go To Home page\",\r\n icon: \"AlertTriangleIcon\",\r\n variant: \"danger\",\r\n text: \"Chức năng bị hạn chế\",\r\n },\r\n });\r\n });\r\n }\r\n callback(response.data);\r\n // donVis.value = response.data;\r\n // console.log(\"response133\", donVis.value);\r\n });\r\n };\r\n\r\n return {\r\n getDataList,\r\n getDonVi,\r\n // donVis,\r\n refUserListTable,\r\n\r\n perPage,\r\n currentPage,\r\n perPageOptions,\r\n searchQuery,\r\n sortBy,\r\n isSortDirDesc,\r\n };\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Filters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Filters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Filters.vue?vue&type=template&id=1f91b546&\"\nimport script from \"./Filters.vue?vue&type=script&lang=js&\"\nexport * from \"./Filters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Filters.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{staticClass:\"mb-0\",attrs:{\"no-body\":\"\"}},[_c('div',{staticClass:\"m-2\"},[_c('b-row',[_c('b-col',{staticClass:\"d-flex align-items-center justify-content-start mb-1 mb-md-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',[_vm._v(\"Hiển thị\")]),_c('v-select',{staticClass:\"per-page-selector d-inline-block mx-50\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.perPageOptions,\"clearable\":false},on:{\"input\":_vm.showPerPage},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),_c('label',[_vm._v(\"dòng\")])],1)],1)],1),_c('div',{staticClass:\"px-2\"},[_c('b-table',{ref:\"refUserListTable\",staticClass:\"position-relative\",attrs:{\"items\":_vm.dataTable,\"responsive\":\"\",\"fields\":_vm.fields,\"primary-key\":\"id\",\"sort-by\":_vm.sortBy,\"show-empty\":\"\",\"empty-text\":\"Không có dữ liệu\",\"sort-desc\":_vm.isSortDirDesc,\"table-class\":\"vgt-table cs-table-info\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.isSortDirDesc=$event},\"update:sort-desc\":function($event){_vm.isSortDirDesc=$event}},scopedSlots:_vm._u([{key:\"cell(hoVaTen)\",fn:function(data){return [_c('b-media',{attrs:{\"vertical-align\":\"center\"},scopedSlots:_vm._u([{key:\"aside\",fn:function(){return [_c('b-avatar',{attrs:{\"size\":\"32\",\"src\":_vm.url + data.item.avatar,\"text\":_vm.avatarText(data.value),\"variant\":(\"light-\" + (_vm.resolveUserRoleVariant(data.item.unitRole))),\"to\":{\n name: 'canbocongchuc-thongtin',\n params: { id: data.item.id },\n }}})]},proxy:true}],null,true)},[_c('b-link',{staticClass:\"font-weight-bold d-block text-nowrap\",attrs:{\"to\":{\n name: 'canbocongchuc-thongtin',\n params: { id: data.item.id },\n }}},[_vm._v(\" \"+_vm._s(data.value)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(\"@\"+_vm._s(data.item.email))])],1)]}},{key:\"cell(donVi)\",fn:function(data){return [_c('b-badge',{staticClass:\"text-capitalize\",attrs:{\"variant\":(\"light-\" + (_vm.resolveUserStatusVariant(data.value.code)))}},[_c('p',{staticClass:\"truncate1 mb-0\"},[_vm._v(_vm._s(data.value.ten))])])]}},{key:\"cell(soCccd)\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.value)+\" \")]}},{key:\"cell(ngaySinh)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(new Date(data.value),\"DD/MM/YYYY\"))+\" \")]}},{key:\"cell(trangThaiHoSo)\",fn:function(data){return [_c('b-badge',{staticClass:\"text-capitalize\",attrs:{\"variant\":(\"light-\" + (_vm.resolveUserStatusVariant(data.value.code)))}},[_vm._v(_vm._s(data.value.name))])]}},{key:\"cell(unitRole)\",fn:function(data){return [_c('b-badge',{staticClass:\"text-capitalize\",attrs:{\"variant\":(\"light-\" + (_vm.resolveUserRoleVariant(data.value)))}},[(data.value)?_c('p',{staticClass:\"truncate1 mb-0\"},[_vm._v(\" \"+_vm._s(data.value.name)+\" \")]):_vm._e()])]}},{key:\"cell(action)\",fn:function(data){return [_c('b-button',{staticClass:\"btn-icon\",attrs:{\"to\":{\n name: 'canbocongchuc-thongtin',\n params: { id: data.item.id },\n },\"variant\":\"flat-success\"}},[_c('feather-icon',{attrs:{\"icon\":\"SendIcon\",\"size\":\"16\"}})],1)]}}])})],1),_c('div',{staticClass:\"mx-2 mb-2\"},[_c('b-row',[_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center justify-content-sm-start\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('span',{staticClass:\"text-muted\"},[_vm._v(\" Hiển thị \"+_vm._s(_vm.dataMeta.from)+\" đến \"+_vm._s(_vm.dataMeta.to)+\" của \"+_vm._s(_vm.totalList)+\" dòng \")])]),_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center justify-content-sm-end\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('b-pagination',{staticClass:\"mb-0 mt-1 mt-sm-0\",attrs:{\"total-rows\":_vm.totalList,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},on:{\"input\":_vm.pagination},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}]),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DataTable.vue?vue&type=template&id=19fc28c6&\"\nimport script from \"./DataTable.vue?vue&type=script&lang=js&\"\nexport * from \"./DataTable.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4466855e&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style1 from \"./index.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4466855e\",\n null\n \n)\n\nexport default component.exports","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), $children);\n }\n});","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","import { NAME_COLLAPSE } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_OPTIONS_PASSIVE } from '../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes';\nimport { RX_HASH, RX_HASH_ID, RX_SPACE_SPLIT } from '../../constants/regex';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { addClass, getAttr, hasAttr, isDisabled, isTag, removeAttr, removeClass, removeStyle, requestAF, setAttr, setStyle } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events';\nimport { isString } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { keys } from '../../utils/object'; // --- Constants ---\n// Classes to apply to trigger element\n\nvar CLASS_BV_TOGGLE_COLLAPSED = 'collapsed';\nvar CLASS_BV_TOGGLE_NOT_COLLAPSED = 'not-collapsed'; // Property key for handler storage\n\nvar BV_BASE = '__BV_toggle'; // Root event listener property (Function)\n\nvar BV_TOGGLE_ROOT_HANDLER = \"\".concat(BV_BASE, \"_HANDLER__\"); // Trigger element click handler property (Function)\n\nvar BV_TOGGLE_CLICK_HANDLER = \"\".concat(BV_BASE, \"_CLICK__\"); // Target visibility state property (Boolean)\n\nvar BV_TOGGLE_STATE = \"\".concat(BV_BASE, \"_STATE__\"); // Target ID list property (Array)\n\nvar BV_TOGGLE_TARGETS = \"\".concat(BV_BASE, \"_TARGETS__\"); // Commonly used strings\n\nvar STRING_FALSE = 'false';\nvar STRING_TRUE = 'true'; // Commonly used attribute names\n\nvar ATTR_ARIA_CONTROLS = 'aria-controls';\nvar ATTR_ARIA_EXPANDED = 'aria-expanded';\nvar ATTR_ROLE = 'role';\nvar ATTR_TABINDEX = 'tabindex'; // Commonly used style properties\n\nvar STYLE_OVERFLOW_ANCHOR = 'overflow-anchor'; // Emitted control event for collapse (emitted to collapse)\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle'); // Listen to event for toggle state update (emitted by collapse)\n\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state'); // Private event emitted on `$root` to ensure the toggle state is always synced\n// Gets emitted even if the state of b-collapse has not changed\n// This event is NOT to be documented as people should not be using it\n\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state'); // Private event we send to collapse to request state update sync event\n\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar KEYDOWN_KEY_CODES = [CODE_ENTER, CODE_SPACE]; // --- Helper methods ---\n\nvar isNonStandardTag = function isNonStandardTag(el) {\n return !arrayIncludes(['button', 'a'], el.tagName.toLowerCase());\n};\n\nvar getTargets = function getTargets(_ref, el) {\n var modifiers = _ref.modifiers,\n arg = _ref.arg,\n value = _ref.value;\n // Any modifiers are considered target IDs\n var targets = keys(modifiers || {}); // If value is a string, split out individual targets (if space delimited)\n\n value = isString(value) ? value.split(RX_SPACE_SPLIT) : value; // Support target ID as link href (`href=\"#id\"`)\n\n if (isTag(el.tagName, 'a')) {\n var href = getAttr(el, 'href') || '';\n\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''));\n }\n } // Add ID from `arg` (if provided), and support value\n // as a single string ID or an array of string IDs\n // If `value` is not an array or string, then it gets filtered out\n\n\n concat(arg, value).forEach(function (t) {\n return isString(t) && targets.push(t);\n }); // Return only unique and truthy target IDs\n\n return targets.filter(function (t, index, arr) {\n return t && arr.indexOf(t) === index;\n });\n};\n\nvar removeClickListener = function removeClickListener(el) {\n var handler = el[BV_TOGGLE_CLICK_HANDLER];\n\n if (handler) {\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n\n el[BV_TOGGLE_CLICK_HANDLER] = null;\n};\n\nvar addClickListener = function addClickListener(el, vnode) {\n removeClickListener(el);\n\n if (vnode.context) {\n var handler = function handler(event) {\n if (!(event.type === 'keydown' && !arrayIncludes(KEYDOWN_KEY_CODES, event.keyCode)) && !isDisabled(el)) {\n var targets = el[BV_TOGGLE_TARGETS] || [];\n targets.forEach(function (target) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_TOGGLE, target);\n });\n }\n };\n\n el[BV_TOGGLE_CLICK_HANDLER] = handler;\n eventOn(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n\n if (isNonStandardTag(el)) {\n eventOn(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n }\n};\n\nvar removeRootListeners = function removeRootListeners(el, vnode) {\n if (el[BV_TOGGLE_ROOT_HANDLER] && vnode.context) {\n vnode.context.$root.$off([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], el[BV_TOGGLE_ROOT_HANDLER]);\n }\n\n el[BV_TOGGLE_ROOT_HANDLER] = null;\n};\n\nvar addRootListeners = function addRootListeners(el, vnode) {\n removeRootListeners(el, vnode);\n\n if (vnode.context) {\n var handler = function handler(id, state) {\n // `state` will be `true` if target is expanded\n if (arrayIncludes(el[BV_TOGGLE_TARGETS] || [], id)) {\n // Set/Clear 'collapsed' visibility class state\n el[BV_TOGGLE_STATE] = state; // Set `aria-expanded` and class state on trigger element\n\n setToggleState(el, state);\n }\n };\n\n el[BV_TOGGLE_ROOT_HANDLER] = handler; // Listen for toggle state changes (public) and sync (private)\n\n vnode.context.$root.$on([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], handler);\n }\n};\n\nvar setToggleState = function setToggleState(el, state) {\n // State refers to the visibility of the collapse/sidebar\n if (state) {\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_TRUE);\n } else {\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_FALSE);\n }\n}; // Reset and remove a property from the provided element\n\n\nvar resetProp = function resetProp(el, prop) {\n el[prop] = null;\n delete el[prop];\n}; // Handle directive updates\n\n\nvar handleUpdate = function handleUpdate(el, binding, vnode) {\n /* istanbul ignore next: should never happen */\n if (!IS_BROWSER || !vnode.context) {\n return;\n } // If element is not a button or link, we add `role=\"button\"`\n // and `tabindex=\"0\"` for accessibility reasons\n\n\n if (isNonStandardTag(el)) {\n if (!hasAttr(el, ATTR_ROLE)) {\n setAttr(el, ATTR_ROLE, 'button');\n }\n\n if (!hasAttr(el, ATTR_TABINDEX)) {\n setAttr(el, ATTR_TABINDEX, '0');\n }\n } // Ensure the collapse class and `aria-*` attributes persist\n // after element is updated (either by parent re-rendering\n // or changes to this element or its contents)\n\n\n setToggleState(el, el[BV_TOGGLE_STATE]); // Parse list of target IDs\n\n var targets = getTargets(binding, el); // Ensure the `aria-controls` hasn't been overwritten\n // or removed when vnode updates\n // Also ensure to set `overflow-anchor` to `none` to prevent\n // the browser's scroll anchoring behavior\n\n /* istanbul ignore else */\n\n if (targets.length > 0) {\n setAttr(el, ATTR_ARIA_CONTROLS, targets.join(' '));\n setStyle(el, STYLE_OVERFLOW_ANCHOR, 'none');\n } else {\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n } // Add/Update our click listener(s)\n // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n addClickListener(el, vnode);\n }); // If targets array has changed, update\n\n if (!looseEqual(targets, el[BV_TOGGLE_TARGETS])) {\n // Update targets array to element storage\n el[BV_TOGGLE_TARGETS] = targets; // Ensure `aria-controls` is up to date\n // Request a state update from targets so that we can\n // ensure expanded state is correct (in most cases)\n\n targets.forEach(function (target) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, target);\n });\n }\n};\n/*\n * Export our directive\n */\n\n\nexport var VBToggle = {\n bind: function bind(el, binding, vnode) {\n // State is initially collapsed until we receive a state event\n el[BV_TOGGLE_STATE] = false; // Assume no targets initially\n\n el[BV_TOGGLE_TARGETS] = []; // Add our root listeners\n\n addRootListeners(el, vnode); // Initial update of trigger\n\n handleUpdate(el, binding, vnode);\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind: function unbind(el, binding, vnode) {\n removeClickListener(el); // Remove our $root listener\n\n removeRootListeners(el, vnode); // Reset custom props\n\n resetProp(el, BV_TOGGLE_ROOT_HANDLER);\n resetProp(el, BV_TOGGLE_CLICK_HANDLER);\n resetProp(el, BV_TOGGLE_STATE);\n resetProp(el, BV_TOGGLE_TARGETS); // Reset classes/attrs/styles\n\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n removeAttr(el, ATTR_ARIA_EXPANDED);\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeAttr(el, ATTR_ROLE);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n }\n};","/* eslint-disable */\r\nimport BaseService from \"../../BaseService\";\r\n\r\nconst { http, axios, buildHeaders, buildEndpoint } = BaseService();\r\n\r\n// API\r\n//////////////////////////////////////////////////////////////////\r\n\r\nexport function GetPagingParams(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function GetCanBoCongChucDaXoa(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params-deleted\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function GetCanBoCongChucKhoiDang(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params-khoi-dang\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function GetCanBoCongChucNghiViec(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params-nghi-viec\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function GetPagingParamsSync(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params-sync-failed\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucTraCuu(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params-tra-cuu\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucGetAllOfCanBo(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/getAll\",\r\n method: \"get\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucGetByIddv(id) {\r\n return http({\r\n url: \"CanBoCongChuc/get-cbcc-by-iddv/\" + id,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function CanBoCongChucGetInfo(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/GetInfo\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function GetInfoExport(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/GetInfoExport\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function GetInfoByUsername(postdata) {\r\n return http({\r\n url: \"CanBoCongChuc/get-by-email/\" + postdata,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function CanBoCongChucCreate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/Create\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucUpdate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/update\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucDelete(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/Delete\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateThongTinChung(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/updateThongTinChung\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateThongTinKhac(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/updateThongTinKhac\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateBienCheHopDong(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/UpdateBienCheHopDong\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateLuong(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/UpdateLuong\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateDaoTaoBoiDuong(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/UpdateDaoTaoBoiDuong\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateLichSuBanThan(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/updateLichSuBanThan\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function UpdateNhanXetDanhGia(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/updateNhanXetDanhGia\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateThuNhapVaDatSanXuat(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/UpdateThuNhapVaDatSanXuat\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucCreateNghiViec(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/CreateNghiViec\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function CanBoCongChucCreateKhoiDang(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/CreateKhoiDang\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucUpdateNghiViec(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/UpdateNghiViec\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucDeleteKhoiDang(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/DeleteKhoiDang\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucKhoiPhucDelete(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/KhoiPhucDeleted\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function ResetAvatarUser(id) {\r\n return http({\r\n url: \"CanBoCongChuc/reset-avatar/\" + id,\r\n method: \"get\",\r\n });\r\n}\r\n","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_COLLAPSE } from '../../constants/components';\nimport { CLASS_NAME_SHOW } from '../../constants/classes';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOnOff } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVCollapse } from './helpers/bv-collapse'; // --- Constants ---\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n accordion: makeProp(PROP_TYPE_STRING),\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n isNav: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_COLLAPSE); // --- Main component ---\n// @vue/component\n\nexport var BCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],\n props: props,\n data: function data() {\n return {\n show: this[MODEL_PROP_NAME],\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n var transitioning = this.transitioning;\n return {\n 'navbar-collapse': this.isNav,\n collapse: !transitioning,\n show: this.show && !transitioning\n };\n },\n slotScope: function slotScope() {\n var _this = this;\n\n return {\n visible: this.show,\n close: function close() {\n _this.show = false;\n }\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n }), _defineProperty(_watch, \"show\", function show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }), _watch),\n created: function created() {\n this.show = this[MODEL_PROP_NAME];\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.show = this[MODEL_PROP_NAME]; // Listen for toggle events to open/close us\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvt); // Listen to other collapses for accordion events\n\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvt);\n\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this2.emitState();\n }); // Listen for \"Sync state\" requests from `v-b-toggle`\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, function (id) {\n if (id === _this2.safeId()) {\n _this2.$nextTick(_this2.emitSync);\n }\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.isNav) {\n this.setWindowEvents(false);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.isNav) {\n this.setWindowEvents(true);\n }\n\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && IS_BROWSER) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_SHOW);\n },\n onAfterEnter: function onAfterEnter() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_SHOWN);\n },\n onLeave: function onLeave() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_HIDE);\n },\n onAfterLeave: function onAfterLeave() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n emitState: function emitState() {\n var show = this.show,\n accordion = this.accordion;\n var id = this.safeId();\n this.$emit(MODEL_EVENT_NAME, show); // Let `v-b-toggle` know the state of this collapse\n\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, id, show);\n\n if (accordion && show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);\n }\n },\n emitSync: function emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), this.show);\n },\n checkDisplayBlock: function checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n var $el = this.$el;\n var restore = hasClass($el, CLASS_NAME_SHOW);\n removeClass($el, CLASS_NAME_SHOW);\n var isBlock = getCS($el).display === 'block';\n\n if (restore) {\n addClass($el, CLASS_NAME_SHOW);\n }\n\n return isBlock;\n },\n clickHandler: function clickHandler(event) {\n var el = event.target; // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n\n /* istanbul ignore next: can't test `getComputedStyle()` in JSDOM */\n\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n return;\n } // Only close the collapse if it is not forced to be `display: block !important`\n\n\n if ((matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) && !this.checkDisplayBlock()) {\n this.show = false;\n }\n },\n handleToggleEvt: function handleToggleEvt(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvt: function handleAccordionEvt(openedId, openAccordion) {\n var accordion = this.accordion,\n show = this.show;\n\n if (!accordion || accordion !== openAccordion) {\n return;\n }\n\n var isThis = openedId === this.safeId(); // Open this collapse if not shown or\n // close this collapse if shown\n\n if (isThis && !show || !isThis && show) {\n this.toggle();\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var appear = this.appear;\n var $content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n },\n on: {\n click: this.clickHandler\n }\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));\n return h(BVCollapse, {\n props: {\n appear: appear\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$content]);\n }\n});","export var CLASS_NAME_SHOW = 'show';\nexport var CLASS_NAME_FADE = 'fade';","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport { Vue, mergeData } from '../../../vue';\nimport { NAME_COLLAPSE_HELPER } from '../../../constants/components';\nimport { getBCR, reflow, removeStyle, requestAF, setStyle } from '../../../utils/dom'; // --- Helper methods ---\n// Transition event handler helpers\n\nvar onEnter = function onEnter(el) {\n setStyle(el, 'height', 0); // In a `requestAF()` for `appear` to work\n\n requestAF(function () {\n reflow(el);\n setStyle(el, 'height', \"\".concat(el.scrollHeight, \"px\"));\n });\n};\n\nvar onAfterEnter = function onAfterEnter(el) {\n removeStyle(el, 'height');\n};\n\nvar onLeave = function onLeave(el) {\n setStyle(el, 'height', 'auto');\n setStyle(el, 'display', 'block');\n setStyle(el, 'height', \"\".concat(getBCR(el).height, \"px\"));\n reflow(el);\n setStyle(el, 'height', 0);\n};\n\nvar onAfterLeave = function onAfterLeave(el) {\n removeStyle(el, 'height');\n}; // --- Constants ---\n// Default transition props\n// `appear` will use the enter classes\n\n\nvar TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n}; // Default transition handlers\n// `appear` will use the enter handlers\n\nvar TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}; // --- Main component ---\n// @vue/component\n\nexport var BVCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE_HELPER,\n functional: true,\n props: {\n appear: {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n type: Boolean,\n default: false\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('transition', // We merge in the `appear` prop last\n mergeData(data, {\n props: TRANSITION_PROPS,\n on: TRANSITION_HANDLERS\n }, {\n props: props\n }), // Note: `` supports a single root element only\n children);\n }\n});","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","/* eslint-disable */\r\nimport { initialAbility } from \"@/libs/acl/config\";\r\nimport BaseService from \"../../BaseService\";\r\n\r\nconst { http } = BaseService();\r\n\r\n// API\r\n\r\nexport function DonViGetList(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/get-list-dv-by-id\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function GetTreeDVSD(id) {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/get-don-vi-su-dung/\" + id,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetTree() {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/GetTree\",\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetTreeAll() {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/GetTreeAll\",\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetTreeUserDonVi() {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/GetTreeExceptUserDonVi\",\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetById(data) {\r\n return http({\r\n url: \"DonVi/get-by-id/\" + data,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function DonViCreate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/Create\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function DonViUpdate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/Update\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function DonViDelete(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/Delete\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\n////////////////////////////////////////\r\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_ROW } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_FORM_ROW); // --- Main component ---\n// @vue/component\n\nexport var BFormRow = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_ROW,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'form-row'\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_VALID_FEEDBACK } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM_VALID_FEEDBACK); // --- Main component ---\n// @vue/component\n\nexport var BFormValidFeedback = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_VALID_FEEDBACK,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tooltip = props.tooltip,\n ariaLive = props.ariaLive;\n var show = props.forceShow === true || props.state === true;\n return h(props.tag, mergeData(data, {\n class: {\n 'd-block': show,\n 'valid-feedback': !tooltip,\n 'valid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_FORM_GROUP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_SPACE_SPLIT } from '../../constants/regex';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_DESCRIPTION, SLOT_NAME_INVALID_FEEDBACK, SLOT_NAME_LABEL, SLOT_NAME_VALID_FEEDBACK } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { cssEscape } from '../../utils/css-escape';\nimport { select, selectAll, isVisible, setAttr, removeAttr, getAttr, attemptFocus } from '../../utils/dom';\nimport { identity } from '../../utils/identity';\nimport { isBoolean } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BCol } from '../layout/col';\nimport { BFormRow } from '../layout/form-row';\nimport { BFormText } from '../form/form-text';\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback';\nimport { BFormValidFeedback } from '../form/form-valid-feedback'; // --- Constants ---\n\nvar INPUTS = ['input', 'select', 'textarea']; // Selector for finding first input in the form group\n\nvar INPUT_SELECTOR = INPUTS.map(function (v) {\n return \"\".concat(v, \":not([disabled])\");\n}).join(); // A list of interactive elements (tag names) inside ``'s legend\n\nvar LEGEND_INTERACTIVE_ELEMENTS = [].concat(INPUTS, ['a', 'button', 'label']); // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formStateProps), getBreakpointsUpCached().reduce(function (props, breakpoint) {\n // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...\n props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING); // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...\n\n props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING); // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...\n\n props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING);\n return props;\n }, create(null))), {}, {\n description: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),\n invalidFeedback: makeProp(PROP_TYPE_STRING),\n label: makeProp(PROP_TYPE_STRING),\n labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n labelFor: makeProp(PROP_TYPE_STRING),\n labelSize: makeProp(PROP_TYPE_STRING),\n labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false),\n validFeedback: makeProp(PROP_TYPE_STRING),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n })), NAME_FORM_GROUP);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BFormGroup = {\n name: NAME_FORM_GROUP,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props; // eslint-disable-next-line no-return-assign\n\n return this.props = generateProps();\n },\n\n data: function data() {\n return {\n ariaDescribedby: null\n };\n },\n computed: {\n contentColProps: function contentColProps() {\n return this.getColProps(this.$props, 'content');\n },\n labelAlignClasses: function labelAlignClasses() {\n return this.getAlignClasses(this.$props, 'label');\n },\n labelColProps: function labelColProps() {\n return this.getColProps(this.$props, 'label');\n },\n isHorizontal: function isHorizontal() {\n // Determine if the form group will be rendered horizontal\n // based on the existence of 'content-col' or 'label-col' props\n return keys(this.contentColProps).length > 0 || keys(this.labelColProps).length > 0;\n }\n },\n watch: {\n ariaDescribedby: function ariaDescribedby(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.updateAriaDescribedby(newValue, oldValue);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n // Set `aria-describedby` on the input specified by `labelFor`\n // We do this in a `$nextTick()` to ensure the children have finished rendering\n _this.updateAriaDescribedby(_this.ariaDescribedby);\n });\n },\n methods: {\n getAlignClasses: function getAlignClasses(props, prefix) {\n return getBreakpointsUpCached().reduce(function (result, breakpoint) {\n var propValue = props[suffixPropName(breakpoint, \"\".concat(prefix, \"Align\"))] || null;\n\n if (propValue) {\n result.push(['text', breakpoint, propValue].filter(identity).join('-'));\n }\n\n return result;\n }, []);\n },\n getColProps: function getColProps(props, prefix) {\n return getBreakpointsUpCached().reduce(function (result, breakpoint) {\n var propValue = props[suffixPropName(breakpoint, \"\".concat(prefix, \"Cols\"))]; // Handle case where the prop's value is an empty string,\n // which represents `true`\n\n propValue = propValue === '' ? true : propValue || false;\n\n if (!isBoolean(propValue) && propValue !== 'auto') {\n // Convert to column size to number\n propValue = toInteger(propValue, 0); // Ensure column size is greater than `0`\n\n propValue = propValue > 0 ? propValue : false;\n } // Add the prop to the list of props to give to ``\n // If breakpoint is '' (`${prefix}Cols` is `true`), then we use\n // the 'col' prop to make equal width at 'xs'\n\n\n if (propValue) {\n result[breakpoint || (isBoolean(propValue) ? 'col' : 'cols')] = propValue;\n }\n\n return result;\n }, {});\n },\n // Sets the `aria-describedby` attribute on the input if `labelFor` is set\n // Optionally accepts a string of IDs to remove as the second parameter\n // Preserves any `aria-describedby` value(s) user may have on input\n updateAriaDescribedby: function updateAriaDescribedby(newValue, oldValue) {\n var labelFor = this.labelFor;\n\n if (IS_BROWSER && labelFor) {\n // We need to escape `labelFor` since it can be user-provided\n var $input = select(\"#\".concat(cssEscape(labelFor)), this.$refs.content);\n\n if ($input) {\n var attr = 'aria-describedby';\n var newIds = (newValue || '').split(RX_SPACE_SPLIT);\n var oldIds = (oldValue || '').split(RX_SPACE_SPLIT); // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n\n var ids = (getAttr($input, attr) || '').split(RX_SPACE_SPLIT).filter(function (id) {\n return !arrayIncludes(oldIds, id);\n }).concat(newIds).filter(function (id, index, ids) {\n return ids.indexOf(id) === index;\n }).filter(identity).join(' ').trim();\n\n if (ids) {\n setAttr($input, attr, ids);\n } else {\n removeAttr($input, attr);\n }\n }\n }\n },\n onLegendClick: function onLegendClick(event) {\n // Don't do anything if `labelFor` is set\n\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n if (this.labelFor) {\n return;\n }\n\n var target = event.target;\n var tagName = target ? target.tagName : ''; // If clicked an interactive element inside legend,\n // we just let the default happen\n\n /* istanbul ignore next */\n\n if (LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName) !== -1) {\n return;\n } // If only a single input, focus it, emulating label behaviour\n\n\n var inputs = selectAll(INPUT_SELECTOR, this.$refs.content).filter(isVisible);\n\n if (inputs.length === 1) {\n attemptFocus(inputs[0]);\n }\n }\n },\n render: function render(h) {\n var state = this.computedState,\n feedbackAriaLive = this.feedbackAriaLive,\n isHorizontal = this.isHorizontal,\n labelFor = this.labelFor,\n normalizeSlot = this.normalizeSlot,\n safeId = this.safeId,\n tooltip = this.tooltip;\n var id = safeId();\n var isFieldset = !labelFor;\n var $label = h();\n var labelContent = normalizeSlot(SLOT_NAME_LABEL) || this.label;\n var labelId = labelContent ? safeId('_BV_label_') : null;\n\n if (labelContent || isHorizontal) {\n var labelSize = this.labelSize,\n labelColProps = this.labelColProps;\n var labelTag = isFieldset ? 'legend' : 'label';\n\n if (this.labelSrOnly) {\n if (labelContent) {\n $label = h(labelTag, {\n class: 'sr-only',\n attrs: {\n id: labelId,\n for: labelFor || null\n }\n }, [labelContent]);\n }\n\n $label = h(isHorizontal ? BCol : 'div', {\n props: isHorizontal ? labelColProps : {}\n }, [$label]);\n } else {\n $label = h(isHorizontal ? BCol : labelTag, {\n on: isFieldset ? {\n click: this.onLegendClick\n } : {},\n props: isHorizontal ? _objectSpread(_objectSpread({}, labelColProps), {}, {\n tag: labelTag\n }) : {},\n attrs: {\n id: labelId,\n for: labelFor || null,\n // We add a `tabindex` to legend so that screen readers\n // will properly read the `aria-labelledby` in IE\n tabindex: isFieldset ? '-1' : null\n },\n class: [// Hide the focus ring on the legend\n isFieldset ? 'bv-no-focus-ring' : '', // When horizontal or if a legend is rendered, add 'col-form-label' class\n // for correct sizing as Bootstrap has inconsistent font styling for\n // legend in non-horizontal form groups\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isFieldset ? 'col-form-label' : '', // Emulate label padding top of `0` on legend when not horizontal\n !isHorizontal && isFieldset ? 'pt-0' : '', // If not horizontal and not a legend, we add 'd-block' class to label\n // so that label-align works\n !isHorizontal && !isFieldset ? 'd-block' : '', labelSize ? \"col-form-label-\".concat(labelSize) : '', this.labelAlignClasses, this.labelClass]\n }, [labelContent]);\n }\n }\n\n var $invalidFeedback = h();\n var invalidFeedbackContent = normalizeSlot(SLOT_NAME_INVALID_FEEDBACK) || this.invalidFeedback;\n var invalidFeedbackId = invalidFeedbackContent ? safeId('_BV_feedback_invalid_') : null;\n\n if (invalidFeedbackContent) {\n $invalidFeedback = h(BFormInvalidFeedback, {\n props: {\n ariaLive: feedbackAriaLive,\n id: invalidFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `false`, always show the feedback\n state: state,\n tooltip: tooltip\n },\n attrs: {\n tabindex: invalidFeedbackContent ? '-1' : null\n }\n }, [invalidFeedbackContent]);\n }\n\n var $validFeedback = h();\n var validFeedbackContent = normalizeSlot(SLOT_NAME_VALID_FEEDBACK) || this.validFeedback;\n var validFeedbackId = validFeedbackContent ? safeId('_BV_feedback_valid_') : null;\n\n if (validFeedbackContent) {\n $validFeedback = h(BFormValidFeedback, {\n props: {\n ariaLive: feedbackAriaLive,\n id: validFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `true`, always show the feedback\n state: state,\n tooltip: tooltip\n },\n attrs: {\n tabindex: validFeedbackContent ? '-1' : null\n }\n }, [validFeedbackContent]);\n }\n\n var $description = h();\n var descriptionContent = normalizeSlot(SLOT_NAME_DESCRIPTION) || this.description;\n var descriptionId = descriptionContent ? safeId('_BV_description_') : null;\n\n if (descriptionContent) {\n $description = h(BFormText, {\n attrs: {\n id: descriptionId,\n tabindex: '-1'\n }\n }, [descriptionContent]);\n } // Update `ariaDescribedby`\n // Screen readers will read out any content linked to by `aria-describedby`\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form group's state is explicitly valid or invalid\n\n\n var ariaDescribedby = this.ariaDescribedby = [descriptionId, state === false ? invalidFeedbackId : null, state === true ? validFeedbackId : null].filter(identity).join(' ') || null;\n var $content = h(isHorizontal ? BCol : 'div', {\n props: isHorizontal ? this.contentColProps : {},\n ref: 'content'\n }, [normalizeSlot(SLOT_NAME_DEFAULT, {\n ariaDescribedby: ariaDescribedby,\n descriptionId: descriptionId,\n id: id,\n labelId: labelId\n }) || h(), $invalidFeedback, $validFeedback, $description]); // Return it wrapped in a form group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n\n return h(isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div', {\n staticClass: 'form-group',\n class: [{\n 'was-validated': this.validated\n }, this.stateClass],\n attrs: {\n id: id,\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedAriaInvalid,\n // Only apply `aria-labelledby` if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? labelId : null\n }\n }, isHorizontal && isFieldset ? [h(BFormRow, [$label, $content])] : [$label, $content]);\n }\n};","import { makeModelMixin } from '../utils/model';\n\nvar _makeModelMixin = makeModelMixin('value'),\n mixin = _makeModelMixin.mixin,\n props = _makeModelMixin.props,\n prop = _makeModelMixin.prop,\n event = _makeModelMixin.event;\n\nexport { mixin as modelMixin, props, prop as MODEL_PROP_NAME, event as MODEL_EVENT_NAME };","import { Vue } from '../vue';\nimport { PROP_TYPE_ARRAY_OBJECT, PROP_TYPE_STRING } from '../constants/props';\nimport { get } from '../utils/get';\nimport { stripTags } from '../utils/html';\nimport { isArray, isPlainObject, isUndefined } from '../utils/inspect';\nimport { keys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { warn } from '../utils/warn'; // --- Constants ---\n\nvar OPTIONS_OBJECT_DEPRECATED_MSG = 'Setting prop \"options\" to an object is deprecated. Use the array format instead.'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n disabledField: makeProp(PROP_TYPE_STRING, 'disabled'),\n htmlField: makeProp(PROP_TYPE_STRING, 'html'),\n options: makeProp(PROP_TYPE_ARRAY_OBJECT, []),\n textField: makeProp(PROP_TYPE_STRING, 'text'),\n valueField: makeProp(PROP_TYPE_STRING, 'value')\n}, 'formOptionControls'); // --- Mixin ---\n// @vue/component\n\nexport var formOptionsMixin = Vue.extend({\n props: props,\n computed: {\n formOptions: function formOptions() {\n return this.normalizeOptions(this.options);\n }\n },\n methods: {\n normalizeOption: function normalizeOption(option) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // When the option is an object, normalize it\n if (isPlainObject(option)) {\n var value = get(option, this.valueField);\n var text = get(option, this.textField);\n return {\n value: isUndefined(value) ? key || text : value,\n text: stripTags(String(isUndefined(text) ? key : text)),\n html: get(option, this.htmlField),\n disabled: Boolean(get(option, this.disabledField))\n };\n } // Otherwise create an `` object\n\n if (!isNull(options)) {\n return {\n label: String(get(option, this.labelField) || text),\n options: this.normalizeOptions(options)\n };\n } // Otherwise create an `