{"version":3,"sources":["webpack:///./node_modules/lodash/_getRawTag.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/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/Filters.vue?a467","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/media/media.js","webpack:///./node_modules/lodash/_baseGetTag.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:///./src/@core/comp-functions/forms/form-validation.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/Edit.vue?a874","webpack:///./node_modules/lodash/toFinite.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./src/services/api/DefaultTemplate/RoleService.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/utils/stable-sort.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./src/views/DefaultTemplate/userdeleted/manager/index.vue?23c6","webpack:///./src/services/api/DefaultTemplate/UserDelete.js","webpack:///./src/views/DefaultTemplate/userdeleted/manager/useUsersList.js","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/Filters.vue?9c1d","webpack:///src/views/DefaultTemplate/userdeleted/manager/components/Filters.vue","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/Filters.vue?62a6","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/Filters.vue","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/AddNew.vue?12e6","webpack:///src/views/DefaultTemplate/userdeleted/manager/components/AddNew.vue","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/AddNew.vue?d5b6","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/AddNew.vue","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/Edit.vue?ca29","webpack:///src/views/DefaultTemplate/user/manager/components/Edit.vue","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/Edit.vue?0b7a","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/Edit.vue","webpack:///src/views/DefaultTemplate/userdeleted/manager/index.vue","webpack:///./src/views/DefaultTemplate/userdeleted/manager/index.vue?bf25","webpack:///./src/views/DefaultTemplate/userdeleted/manager/index.vue","webpack:///./src/services/api/DefaultTemplate/UserService.js","webpack:///./src/views/DefaultTemplate/userdeleted/manager/index.vue?227e","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/sidebar.js","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./src/views/DefaultTemplate/userdeleted/manager/components/AddNew.vue?f8a1","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.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:///./src/views/DefaultTemplate/userdeleted/manager/index.vue?d027","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.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/lodash/isSymbol.js"],"names":["Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","module","exports","_nonIterableSpread","TypeError","__esModule","kFormatter","num","toFixed","title","replacer","str","arr","split","capitalizedArray","forEach","word","capitalized","charAt","toUpperCase","slice","push","join","avatarText","nameArray","map","last2","length","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","props","id","inline","novalidate","validated","BForm","extend","name","functional","render","h","_ref","data","children","class","attrs","isObjectLike","isObject","type","before","once","func","arrayLikeToArray","require","_arrayWithoutHoles","isArray","isPromise","obj","then","default","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","i","hasListenerMixin","methods","hasListener","$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","listeners","provide","bvTableTr","inject","bvTableRowGroup","inheritAttrs","computed","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","isDark","isStacked","isResponsive","isStickyHeader","hasStickyHeader","tableVariant","headVariant","footVariant","isRowDark","trClasses","concat","trAttrs","role","bvAttrs","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","localBusy","computedBusy","watch","newValue","oldValue","$emit","stopIfBusy","event","renderBusy","caption","captionHtml","captionMixin","captionId","safeId","renderCaption","$caption","hasCaptionSlot","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","reduce","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","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","index","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","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","charCodeAt","noBody","rightAlign","verticalAlign","BMedia","slots","scopedSlots","$children","$slots","$scopedSlots","$aside","right","nullTag","undefinedTag","baseGetTag","BaseService","http","axios","buildHeaders","buildEndpoint","GetPagingParams","postdata","url","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","formValidation","resetFormData","clearFormData","refFormObserver","resetObserver","reset","getValidationState","dirty","fieldRequired","required","changed","valid","resetForm","nextTick","clearForm","toFinite","remainder","reWhitespace","trimmedEndIndex","string","global","toNumber","INFINITY","MAX_INTEGER","sign","GetAll","GetByCurrentUser","RolesCreate","RolesUpdate","UpdateAction","RolesDelete","constant","BMediaAside","align","GetTree","GetTreeAll","GetById","DonViCreate","DonViUpdate","DonViDelete","BMediaBody","stableSort","compareFn","bind","reTrimStart","baseTrim","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","selector","els","boundary","dropleft","dropright","dropup","noFlip","offset","popperOpts","dropdownMixin","bvDropdown","bvNavbar","visible","visibleChangePrevented","inNavbar","toggler","toggle","directionClass","boundaryClass","eventName","bvEvent","cancelable","vueTarget","menu","relatedTarget","componentId","emitEvent","defaultPrevented","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","deactivated","whileOpenListen","destroyPopper","clearHideTimeout","createPopper","focusMenu","element","getPopperConfig","destroy","updatePopper","scheduleUpdate","_unused","placement","popperConfig","modifiers","flip","enabled","boundariesElement","preventOverflow","isOpen","$root","rootCloseListener","vm","show","hide","refocus","$once","_event","onMousedown","propagation","onKeydown","onEsc","focusNext","onSplitClick","hideHandler","up","_this4","getItems","focusItem","find","_this5","_iterableToArrayLimit","_i","_s","_e","_arr","_n","_d","next","done","err","linkClass","BDropdownItem","computedAttrs","closeDropdown","onClick","active","_vm","_h","_c","_self","isAddNewUserSidebarActive","donVis","listRole","$event","refetchData","isEditUserSidebarActive","curUserData","donViId","status","_v","$store","state","appConfig","isRTL","perPageOptions","model","callback","$$v","expression","searchQuery","fetchUsers","tableColumns","isSortDirDesc","_u","avatar","fullName","proxy","showEditBox","userName","ten","resolveUserRoleVariant","resolveName","resolveUserLockedVariant","resolveNameLock","$can","deleteUser","dataMeta","to","of","totalUsers","staticRenderFns","UserResetPassword","UserDelete","UserLock","useUsersList","emit","toast","useToast","refUserListTable","loginUser","GetUserInfo","localItemsCount","getDonVi","response","condition","start","limit","content","isError","component","ToastificationContent","icon","text","totalRows","findIndex","x","username","splice","treeOptions","normalizer","formatDonVis","lockOptions","val","components","BRow","BCol","BCard","BCardHeader","BCardBody","vSelect","Treeselect","donViFilter","node","instanceId","setup","handleSubmit","preventDefault","onSubmit","validationContext","staticStyle","getCBCC","errors","listCanBo","canbo","hoVaTen","email","canBo","isWait","unitRoleView","directives","rawName","localize","BSidebar","BFormGroup","BFormInput","BFormInvalidFeedback","BButton","ValidationProvider","ValidationObserver","Ripple","alphaNum","maCoQuan","isSyncQG","console","position","UserCreate","idCBCC","donVi","res","userData","UserUpdateUnitRole","Filters","AddNew","Edit","BAvatar","BLink","BBadge","BDropdown","BPagination","BFormCheckbox","getRoles","resetPassword","user","msgBoxConfirm","size","okVariant","okTitle","cancelTitle","cancelVariant","hideHeaderClose","centered","lockUser","isLock","showAddNewBox","headerData","GetInfoByEmail","UserUpdate","GetDefaultPassword","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","debounce","wait","options","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","acc","log","x2","FORCED","proto","forced","fractionDigits","z","number","fractDigits","multiply","c","c2","divide","dataToString","s","t","CLASS_NAME","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","ariaLabelledby","backdrop","backdropVariant","bgVariant","bodyClass","closeLabel","footerClass","headerClass","lazy","noCloseOnBackdrop","noCloseOnEsc","noCloseOnRouteChange","noEnforceFocus","noHeader","noHeaderClose","noSlide","shadow","sidebarClass","textVariant","width","zIndex","renderHeaderTitle","renderHeaderClose","renderHeader","$title","$close","renderBody","renderFooter","$footer","renderContent","$header","renderBackdrop","localShow","onBackdropClick","transitionProps","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","hasTitle","titleId","emitState","fullPath","$_returnFocusEl","handleToggle","handleSync","activated","emitSync","onTopTrapFocus","tabables","enforceFocus","reverse","onBottomTrapFocus","onBeforeEnter","body","onAfterEnter","onAfterLeave","$sidebar","beforeEnter","afterEnter","afterLeave","$backdrop","noFade","$tabTrapTop","$tabTrapBottom","focus","_arrayWithHoles","_nonIterableRest","_methods","_objectSpread2","button","buttonVariant","formRadioCheckMixin","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","set","isChecked","isRadio","isBtnMode","buttons","isPlain","plain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","form","computedSize","computedState","computedButtonVariant","buttonClasses","computedLocalCheckedWatcher","_ref2","checked","$input","stateClass","change","handleChange","handleFocus","blur","$button","$label","for","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","setIndeterminate","indeterminate","_ref$target","uncheckedValue","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","_len","_key","scrollIntoView","$scrollingEl","$focusedEl","scrollingReact","getBoundingClientRect","focusedRect","overScroll","offsetHeight","bottom","scrollTop","offsetTop","clientHeight","scrollHeight","top","intervalId","debounce_","debounce_default","external_watch_size_","external_watch_size_default","removeFromArray","elem","registered","INTERVAL_DURATION","run","setInterval","stop","clearInterval","listener","lastWidth","lastHeight","offsetWidth","height","watchSizeForIE9","unwatch","watchSize","isIE9","documentMode","locked","wrappedListener","implementation","removeSizeWatcher","findScrollParents","$scrollParents","parentNode","nodeName","nodeType","ELEMENT_NODE","isScrollElment","window","_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","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","isLoaded","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","limitText","loadingText","loadOptions","matchKeys","multiple","noChildrenText","noOptionsText","noResultsText","openDirection","validator","acceptableValues","openOnClick","openOnFocus","placeholder","retryText","retryTitle","searchable","searchNested","searchPromptText","showCount","showCountOf","showCountOnSearch","sortValueBy","valueConsistsOf","valueFormat","trigger","isFocused","current","lastScrollPosition","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","localSearch","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","rawNodes","raw","nodeId","createFallbackNode","extractNodeFromValue","enhancedNormalizer","fallbackNode","isFallbackNode","isNew","_this6","defaultNode","valueArray","matched","nodeIdListOfPrevValue","_this7","nextSelectedNodeIds","traverseDescendantsBFS","descendant","queue","_map","_queue","_nodeId","_node","_this8","currNode","traverseDescendantsDFS","_this9","child","traverseAllNodesDFS","_this10","walk","toggleClickOutsideEvent","handleClickOutside","getValueContainer","control","getInput","focusInput","blurInput","handleMouseDown","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","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","checkDuplication","verifyNodeShape","isDefaultExpanded","normalized","_this16$$set","hasDisabledDescendants","branchNodes","option","leafNodes","_this17","_this18","_ref3","catch","error","_this19","JSON","stringify","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","$options","shadowRoot","_injectStyles","originalRender","existing","__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","appear","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","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","left","round","transformVariations","transform","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","route","router","resolve","resolvedRoute","path","currentRoute","useRouter","getCurrentInstance","reactive","$route","toRefs","$router","block","menuClass","noCaret","splitButtonType","splitClass","splitHref","splitTo","splitVariant","toggleClass","toggleTag","toggleText","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","$split","btnProps","href","$toggle","mousedown","expand","shrink","expandChild","shrinkChild","cssText","unbind","scrollLeft","linkProps","pill","link","symbolTag"],"mappings":"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,qBACAn4B,OACAlD,qBACAg4B,kBACA5wB,eACA6wB,sBAIA,cACAuE,cACA,6DACA,CACAx8B,sBACAy8B,UACAC,oBACAC,cACAC,kBACAC,kCACAC,mBACAC,cAGAj4B,MAAA,YACA,IACA,YACA8xB,GAAAzzB,UAAA,kBACA,YACA,UACA,UACA20B,iBACAuD,qBACAn4B,OACAlD,iBACAg4B,yBACA5wB,gBACA6wB,kBAKA,UACAH,iBACAuD,qBACAn4B,OACAlD,mBACAg4B,iBACA5wB,kBACA6wB,0BAUA+E,SArEA,SAqEAT,GAAA,WACA,OACA,2BACA,YACA,aACAzE,iBACAuD,qBACAn4B,OACAlD,qBACAg4B,kBACA5wB,eACA6wB,sBAIA,cACAuE,cAAA,2CACAx8B,sBACAy8B,UACAC,oBACAC,cACAC,kBACAC,kCACAC,mBACAC,cAEAj4B,MAAA,YACA,IACA,YACAgyB,GAAA3zB,QAAA85B,sBAAA,kBACA,YACA,UACA,UACAnF,iBACAuD,qBACAn4B,OACAlD,iBACAg4B,yBACA5wB,gBACA6wB,mBAIA,gBACA,UACAH,iBACAuD,qBACAn4B,OACAlD,mBACAg4B,iBACA5wB,kBACA6wB,2BAUA3B,WAlIA,SAkIAiG,GAAA,WACA,YACA,aACAzE,iBACAuD,qBACAn4B,OACAlD,qBACAg4B,kBACA5wB,eACA6wB,sBAIA,cACAuE,cAAA,gBACAG,iBACAC,kBACAC,oCAEA/3B,MAAA,YACA,IACA,YACA+xB,0BACA,YACA,UACA,UACAiB,iBACAuD,qBACAn4B,OACAlD,iBACAg4B,yBACA5wB,gBACA6wB,mBAIA,gBACA,UACAH,iBACAuD,qBACAn4B,OACAlD,mBACAg4B,iBACA5wB,kBACA6wB,2BASAiF,cAvLA,SAuLAX,GAEA,OADA,gDACA,GAEAzG,YA3LA,SA2LAyG,GAEA,OADA,gDACA,IAGAhD,MA/NA,SA+NAr2B,EA/NA,GA+NA,OACA,wBADA,IAEA,mBACA,GADA,iBACA,sCACAi6B,mCACA9f,eACA8f,gDAEA,SACA,uBACA,uBAEA,EAsBApG,IArBAxB,EADA,E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","file":"js/chunk-626f5d25.7cc9e662.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","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;","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } 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 id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\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('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});","/**\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","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Filters.vue?vue&type=style&index=0&lang=scss&\"","/**\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_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","/* 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;","import { ref, nextTick } from '@vue/composition-api'\r\n\r\n// ===========================================================\r\n// ! This is coupled with \"veeValidate\" plugin\r\n// ===========================================================\r\n\r\nexport default function formValidation(resetFormData, clearFormData = () => {}) {\r\n // ------------------------------------------------\r\n // refFormObserver\r\n // ! This is for veeValidate Observer\r\n // * Used for veeValidate form observer\r\n // ------------------------------------------------\r\n const refFormObserver = ref(null)\r\n\r\n // ------------------------------------------------\r\n // resetObserver\r\n // ! This function is coupled with veeValidate\r\n // * It resets form observer\r\n // ------------------------------------------------\r\n const resetObserver = () => {\r\n refFormObserver.value.reset()\r\n }\r\n\r\n // ------------------------------------------------\r\n // getValidationState\r\n // ! This function is coupled with veeValidate\r\n // * It returns true/false based on validation\r\n // ------------------------------------------------\r\n // eslint-disable-next-line object-curly-newline\r\n const getValidationState = ({ dirty, validated, required: fieldRequired, changed, valid = null }) => {\r\n const result = dirty || validated ? valid : null\r\n return !fieldRequired && !changed ? null : result\r\n }\r\n\r\n // ------------------------------------------------\r\n // resetForm\r\n // ! This function is coupled with veeValidate\r\n // * This uses resetFormData arg to reset form data\r\n // ------------------------------------------------\r\n const resetForm = () => {\r\n resetFormData()\r\n nextTick(() => {\r\n resetObserver()\r\n })\r\n }\r\n\r\n // ------------------------------------------------\r\n // clearForm\r\n // ! This function is coupled with veeValidate\r\n // * This uses clearFormData arg to reset form data\r\n // ------------------------------------------------\r\n const clearForm = () => {\r\n clearFormData()\r\n nextTick(() => {\r\n resetObserver()\r\n })\r\n }\r\n\r\n return {\r\n refFormObserver,\r\n resetObserver,\r\n getValidationState,\r\n resetForm,\r\n clearForm,\r\n }\r\n}\r\n","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","/** 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;","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Edit.vue?vue&type=style&index=0&lang=scss&\"","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;","/* eslint-disable */\r\nimport BaseService from \"../../BaseService\";\r\n\r\nconst { http } = BaseService();\r\n\r\n// API\r\n\r\nexport function GetAll() {\r\n return http({\r\n url: \"UnitRole/get\",\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetByCurrentUser() {\r\n return http({\r\n url: \"UnitRole/GetByCurrentUser\",\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetById(data) {\r\n return http({\r\n url: \"UnitRole/get-by-id/\" + data,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function RolesCreate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"UnitRole/Create\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function RolesUpdate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"UnitRole/Update\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function UpdateAction(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"UnitRole/update-action\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function RolesDelete(postdata) {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"UnitRole/Delete/\" + postdata,\r\n method: \"post\",\r\n });\r\n}\r\n\r\n/////////////////////////////////////////////\r\n","/**\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});","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nexport var stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export var PLACEMENT_TOP_START = 'top-start';\nexport var PLACEMENT_TOP_END = 'top-end';\nexport var PLACEMENT_BOTTOM_START = 'bottom-start';\nexport var PLACEMENT_BOTTOM_END = 'bottom-end';\nexport var PLACEMENT_RIGHT_START = 'right-start';\nexport var PLACEMENT_RIGHT_END = 'right-end';\nexport var PLACEMENT_LEFT_START = 'left-start';\nexport var PLACEMENT_LEFT_END = 'left-end';","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { contains } from '../utils/dom';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var clickOutMixin = Vue.extend({\n data: function data() {\n return {\n listenForClickOut: false\n };\n },\n watch: {\n listenForClickOut: function listenForClickOut(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.clickOutElement = null;\n this.clickOutEventName = null;\n },\n mounted: function mounted() {\n if (!this.clickOutElement) {\n this.clickOutElement = document;\n }\n\n if (!this.clickOutEventName) {\n this.clickOutEventName = 'click';\n }\n\n if (this.listenForClickOut) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n isClickOut: function isClickOut(event) {\n return !contains(this.$el, event.target);\n },\n _clickOutHandler: function _clickOutHandler(event) {\n if (this.clickOutHandler && this.isClickOut(event)) {\n this.clickOutHandler(event);\n }\n }\n }\n});","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var focusInMixin = Vue.extend({\n data: function data() {\n return {\n listenForFocusIn: false\n };\n },\n watch: {\n listenForFocusIn: function listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null;\n },\n mounted: function mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document;\n }\n\n if (this.listenForFocusIn) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n _focusInHandler: function _focusInHandler(event) {\n if (this.focusInHandler) {\n this.focusInHandler(event);\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 Popper from 'popper.js';\nimport { Vue } from '../vue';\nimport { NAME_DROPDOWN } from '../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_TOGGLE } from '../constants/events';\nimport { CODE_DOWN, CODE_ENTER, CODE_ESC, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PLACEMENT_TOP_START, PLACEMENT_TOP_END, PLACEMENT_BOTTOM_START, PLACEMENT_BOTTOM_END, PLACEMENT_RIGHT_START, PLACEMENT_LEFT_START } from '../constants/popper';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../constants/props';\nimport { HTMLElement } from '../constants/safe-types';\nimport { BvEvent } from '../utils/bv-event.class';\nimport { attemptFocus, closest, contains, isVisible, requestAF, selectAll } from '../utils/dom';\nimport { getRootEventName, stopEvent } from '../utils/events';\nimport { isNull } from '../utils/inspect';\nimport { mergeDeep, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { warn } from '../utils/warn';\nimport { clickOutMixin } from './click-out';\nimport { focusInMixin } from './focus-in';\nimport { idMixin, props as idProps } from './id';\nimport { listenOnRootMixin } from './listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_SHOWN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_SHOWN);\nvar ROOT_EVENT_NAME_HIDDEN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_HIDDEN); // CSS selectors\n\nvar SELECTOR_FORM_CHILD = '.dropdown form';\nvar SELECTOR_ITEM = ['.dropdown-item', '.b-dropdown-form'].map(function (selector) {\n return \"\".concat(selector, \":not(.disabled):not([disabled])\");\n}).join(', '); // --- Helper methods ---\n// Return an array of visible items\n\nvar filterVisibles = function filterVisibles(els) {\n return (els || []).filter(isVisible);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place left if possible\n dropleft: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place right if possible\n dropright: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place on top if possible\n dropup: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable auto-flipping of menu from bottom <=> top\n noFlip: makeProp(PROP_TYPE_BOOLEAN, false),\n // Number of pixels or a CSS unit value to offset menu\n // (i.e. `1px`, `1rem`, etc.)\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n popperOpts: makeProp(PROP_TYPE_OBJECT, {}),\n // Right align menu (default is left align)\n right: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_DROPDOWN); // --- Mixin ---\n// @vue/component\n\nexport var dropdownMixin = Vue.extend({\n mixins: [idMixin, listenOnRootMixin, clickOutMixin, focusInMixin],\n provide: function provide() {\n return {\n bvDropdown: this\n };\n },\n inject: {\n bvNavbar: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n visible: false,\n visibleChangePrevented: false\n };\n },\n computed: {\n inNavbar: function inNavbar() {\n return !isNull(this.bvNavbar);\n },\n toggler: function toggler() {\n var toggle = this.$refs.toggle;\n return toggle ? toggle.$el || toggle : null;\n },\n directionClass: function directionClass() {\n if (this.dropup) {\n return 'dropup';\n } else if (this.dropright) {\n return 'dropright';\n } else if (this.dropleft) {\n return 'dropleft';\n }\n\n return '';\n },\n boundaryClass: function boundaryClass() {\n // Position `static` is needed to allow menu to \"breakout\" of the `scrollParent`\n // boundaries when boundary is anything other than `scrollParent`\n // See: https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n return this.boundary !== 'scrollParent' && !this.inNavbar ? 'position-static' : '';\n }\n },\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var eventName = newValue ? EVENT_NAME_SHOW : EVENT_NAME_HIDE;\n var bvEvent = new BvEvent(eventName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null,\n componentId: this.safeId ? this.safeId() : this.id || null\n });\n this.emitEvent(bvEvent);\n\n if (bvEvent.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue; // Just in case a child element triggered `this.hide(true)`\n\n this.$off(EVENT_NAME_HIDDEN, this.focusToggler);\n return;\n }\n\n if (newValue) {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_popper = null;\n this.$_hideTimeout = null;\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In case we are inside a ``\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n this.clearHideTimeout();\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(NAME_DROPDOWN, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n showMenu: function showMenu() {\n var _this = this;\n\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n } // Only instantiate Popper.js when dropdown is not in ``\n\n\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n /* istanbul ignore next */\n warn('Popper.js not found. Falling back to CSS positioning', NAME_DROPDOWN);\n } else {\n // For dropup with alignment we use the parent element as popper container\n var el = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle; // Make sure we have a reference to an element, not a component!\n\n el = el.$el || el; // Instantiate Popper.js\n\n this.createPopper(el);\n }\n } // Ensure other menus are closed\n\n\n this.emitOnRoot(ROOT_EVENT_NAME_SHOWN, this); // Enable listeners\n\n this.whileOpenListen(true); // Wrap in `$nextTick()` to ensure menu is fully rendered/shown\n\n this.$nextTick(function () {\n // Focus on the menu container on show\n _this.focusMenu(); // Emit the shown event\n\n\n _this.$emit(EVENT_NAME_SHOWN);\n });\n },\n hideMenu: function hideMenu() {\n this.whileOpenListen(false);\n this.emitOnRoot(ROOT_EVENT_NAME_HIDDEN, this);\n this.$emit(EVENT_NAME_HIDDEN);\n this.destroyPopper();\n },\n createPopper: function createPopper(element) {\n this.destroyPopper();\n this.$_popper = new Popper(element, this.$refs.menu, this.getPopperConfig());\n },\n // Ensure popper event listeners are removed cleanly\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n // Instructs popper to re-computes the dropdown position\n // useful if the content changes size\n updatePopper: function updatePopper() {\n try {\n this.$_popper.scheduleUpdate();\n } catch (_unused) {}\n },\n clearHideTimeout: function clearHideTimeout() {\n clearTimeout(this.$_hideTimeout);\n this.$_hideTimeout = null;\n },\n getPopperConfig: function getPopperConfig() {\n var placement = PLACEMENT_BOTTOM_START;\n\n if (this.dropup) {\n placement = this.right ? PLACEMENT_TOP_END : PLACEMENT_TOP_START;\n } else if (this.dropright) {\n placement = PLACEMENT_RIGHT_START;\n } else if (this.dropleft) {\n placement = PLACEMENT_LEFT_START;\n } else if (this.right) {\n placement = PLACEMENT_BOTTOM_END;\n }\n\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n var boundariesElement = this.boundary;\n\n if (boundariesElement) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: boundariesElement\n };\n }\n\n return mergeDeep(popperConfig, this.popperOpts || {});\n },\n // Turn listeners on/off while open\n whileOpenListen: function whileOpenListen(isOpen) {\n // Hide the dropdown when clicked outside\n this.listenForClickOut = isOpen; // Hide the dropdown when it loses focus\n\n this.listenForFocusIn = isOpen; // Hide the dropdown when another dropdown is opened\n\n var method = isOpen ? '$on' : '$off';\n this.$root[method](ROOT_EVENT_NAME_SHOWN, this.rootCloseListener);\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n // Public method to show dropdown\n show: function show() {\n var _this2 = this;\n\n if (this.disabled) {\n return;\n } // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n _this2.visible = true;\n });\n },\n // Public method to hide dropdown\n hide: function hide() {\n var refocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n /* istanbul ignore next */\n if (this.disabled) {\n return;\n }\n\n this.visible = false;\n\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only by a button that toggles the menu\n toggle: function toggle(event) {\n event = event || {}; // Early exit when not a click event or ENTER, SPACE or DOWN were pressed\n\n var _event = event,\n type = _event.type,\n keyCode = _event.keyCode;\n\n if (type !== 'click' && !(type === 'keydown' && [CODE_ENTER, CODE_SPACE, CODE_DOWN].indexOf(keyCode) !== -1)) {\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_TOGGLE, event);\n stopEvent(event); // Toggle visibility\n\n if (this.visible) {\n this.hide(true);\n } else {\n this.show();\n }\n },\n // Mousedown handler for the toggle\n\n /* istanbul ignore next */\n onMousedown: function onMousedown(event) {\n // We prevent the 'mousedown' event for the toggle to stop the\n // 'focusin' event from being fired\n // The event would otherwise be picked up by the global 'focusin'\n // listener and there is no cross-browser solution to detect it\n // relates to the toggle click\n // The 'click' event will still be fired and we handle closing\n // other dropdowns there too\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/4328\n stopEvent(event, {\n propagation: false\n });\n },\n // Called from dropdown menu context\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ESC) {\n // Close on ESC\n this.onEsc(event);\n } else if (keyCode === CODE_DOWN) {\n // Down Arrow\n this.focusNext(event, false);\n } else if (keyCode === CODE_UP) {\n // Up Arrow\n this.focusNext(event, true);\n }\n },\n // If user presses ESC, close the menu\n onEsc: function onEsc(event) {\n if (this.visible) {\n this.visible = false;\n stopEvent(event); // Return focus to original trigger button\n\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only in split button mode, for the split button\n onSplitClick: function onSplitClick(event) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_CLICK, event);\n },\n // Shared hide handler between click-out and focus-in events\n hideHandler: function hideHandler(event) {\n var _this3 = this;\n\n var target = event.target;\n\n if (this.visible && !contains(this.$refs.menu, target) && !contains(this.toggler, target)) {\n this.clearHideTimeout();\n this.$_hideTimeout = setTimeout(function () {\n return _this3.hide();\n }, this.inNavbar ? 300 : 0);\n }\n },\n // Document click-out listener\n clickOutHandler: function clickOutHandler(event) {\n this.hideHandler(event);\n },\n // Document focus-in listener\n focusInHandler: function focusInHandler(event) {\n this.hideHandler(event);\n },\n // Keyboard nav\n focusNext: function focusNext(event, up) {\n var _this4 = this;\n\n // Ignore key up/down on form elements\n var target = event.target;\n\n if (!this.visible || event && closest(SELECTOR_FORM_CHILD, target)) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n stopEvent(event);\n this.$nextTick(function () {\n var items = _this4.getItems();\n\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var index = items.indexOf(target);\n\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0;\n }\n\n _this4.focusItem(index, items);\n });\n },\n focusItem: function focusItem(index, items) {\n var el = items.find(function (el, i) {\n return i === index;\n });\n attemptFocus(el);\n },\n getItems: function getItems() {\n // Get all items\n return filterVisibles(selectAll(SELECTOR_ITEM, this.$refs.menu));\n },\n focusMenu: function focusMenu() {\n attemptFocus(this.$refs.menu);\n },\n focusToggler: function focusToggler() {\n var _this5 = this;\n\n this.$nextTick(function () {\n attemptFocus(_this5.toggler);\n });\n }\n }\n});","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\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_DROPDOWN_ITEM } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { requestAF } from '../../utils/dom';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BLinkProps, ['event', 'routerTag'])), {}, {\n linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n})), NAME_DROPDOWN_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BDropdownItem = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_ITEM,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n bvDropdown: {\n default: null\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'menuitem'\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n var _this = this;\n\n // Close on next animation frame to allow time to process\n requestAF(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var linkClass = this.linkClass,\n variant = this.variant,\n active = this.active,\n disabled = this.disabled,\n onClick = this.onClick,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h(BLink, {\n staticClass: 'dropdown-item',\n class: [linkClass, _defineProperty({}, \"text-\".concat(variant), variant && !(active || disabled))],\n props: this.$props,\n attrs: this.computedAttrs,\n on: {\n click: onClick\n },\n ref: 'item'\n }, this.normalizeSlot())]);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('add-new',{attrs:{\"is-add-new-user-sidebar-active\":_vm.isAddNewUserSidebarActive,\"tree-options\":_vm.donVis,\"list-role\":_vm.listRole},on:{\"update:isAddNewUserSidebarActive\":function($event){_vm.isAddNewUserSidebarActive=$event},\"update:is-add-new-user-sidebar-active\":function($event){_vm.isAddNewUserSidebarActive=$event},\"refetch-data\":_vm.refetchData}}),_c('edit',{attrs:{\"is-add-new-user-sidebar-active\":_vm.isEditUserSidebarActive,\"user-data\":_vm.curUserData,\"list-role\":_vm.listRole},on:{\"update:isAddNewUserSidebarActive\":function($event){_vm.isEditUserSidebarActive=$event},\"update:is-add-new-user-sidebar-active\":function($event){_vm.isEditUserSidebarActive=$event},\"refetch-data\":_vm.refetchData}}),_c('filters',{attrs:{\"don-vi-filter\":_vm.donViId,\"tree-options\":_vm.donVis,\"status\":_vm.status},on:{\"update:donViFilter\":function($event){_vm.donViId=$event},\"update:don-vi-filter\":function($event){_vm.donViId=$event},\"update:status\":function($event){_vm.status=$event}}}),_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\":\"4\"}},[_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},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),_c('label',[_vm._v(\"dòng\")])],1),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('div',{staticClass:\"d-flex align-items-center justify-content-end\"},[_c('b-form-input',{staticClass:\"d-inline-block\",attrs:{\"placeholder\":\"Tìm kiếm...\"},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}})],1)])],1)],1),_c('div',{staticClass:\"px-2\"},[_c('b-table',{ref:\"refUserListTable\",staticClass:\"position-relative\",attrs:{\"items\":_vm.fetchUsers,\"responsive\":\"\",\"fields\":_vm.tableColumns,\"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(index)\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.index + (_vm.currentPage - 1) * _vm.perPage + 1))]}},{key:\"cell(user)\",fn:function(data){return [_c('b-media',{attrs:{\"vertical-align\":\"center\"},scopedSlots:_vm._u([{key:\"aside\",fn:function(){return [_c('b-avatar',{staticClass:\"cs-b-avatar\",attrs:{\"size\":\"32\",\"src\":data.item.avatar,\"text\":_vm.avatarText(data.item.fullName)}})]},proxy:true}],null,true)},[_c('b-link',{staticClass:\"font-weight-bold d-block text-nowrap\",on:{\"click\":function($event){_vm.isEditUserSidebarActive = _vm.showEditBox(data.item)}}},[_vm._v(\" \"+_vm._s(data.item.fullName)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(data.item.userName))])],1)]}},{key:\"cell(donVi)\",fn:function(data){return [_c('b-badge',{staticClass:\"text-capitalize\",attrs:{\"variant\":\"light-success\"}},[_c('p',{staticClass:\"truncate1 mb-0\"},[_vm._v(_vm._s(data.value.ten))])])]}},{key:\"cell(unitRoleCode)\",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(_vm.resolveName(data.value))+\" \")]):_vm._e()])]}},{key:\"cell(isActived)\",fn:function(data){return [_c('b-badge',{staticClass:\"text-capitalize\",attrs:{\"variant\":(\"light-\" + (_vm.resolveUserLockedVariant(data.value)))}},[_c('p',{staticClass:\"truncate1 mb-0\"},[_vm._v(\" \"+_vm._s(_vm.resolveNameLock(data.value))+\" \")])])]}},{key:\"cell(actions)\",fn:function(data){return [_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"right\":_vm.$store.state.appConfig.isRTL},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{staticClass:\"align-middle text-body\",attrs:{\"icon\":\"MoreVerticalIcon\",\"size\":\"16\"}})]},proxy:true}],null,true)},[(_vm.$can('delete', 'NGUOIDUNG'))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.deleteUser(data.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"TrashIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Xóa\")])],1):_vm._e()],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.dataMeta.of)+\" 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.totalUsers,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},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)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable */\r\nimport { initialAbility } from \"@/libs/acl/config\";\r\nimport BaseService from \"../../BaseService\";\r\n\r\nconst { http, axios, buildHeaders, buildEndpoint } = BaseService();\r\n\r\n// API\r\n\r\nexport function GetInfoByEmail(data) {\r\n return http({\r\n url: \"Users/get-by-email/\" + data,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetPagingParams(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"Users/get-paging-params-user-is-deleted\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UserCreate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"Users/Create\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UserUpdate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"Users/Update\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function UserUpdateUnitRole(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"Users/update-unitRole\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function UserResetPassword(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"Users/reset-password\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UserDelete(postdata) {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"Users/Delete/\" + postdata,\r\n method: \"post\",\r\n });\r\n}\r\nexport function UserLock(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"Users/lock-account\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\n////////////////////////////////////////////////////////////////////////\r\n","/* eslint-disable */\r\nimport { ref, watch, computed } from \"@vue/composition-api\";\r\nimport { title } from \"@core/utils/filter\";\r\n\r\n// Notification\r\nimport { useToast } from \"vue-toastification/composition\";\r\nimport ToastificationContent from \"@core/components/toastification/ToastificationContent.vue\";\r\n\r\nimport { GetPagingParams } from \"@/services/api/DefaultTemplate/UserDelete\";\r\nimport { GetUserInfo } from \"@/services/api/DefaultTemplate/AuthService\";\r\nimport { GetTree } from \"@/services/api/DefaultTemplate/DonViService\";\r\nexport default function useUsersList(props, emit) {\r\n const toast = useToast();\r\n\r\n const refUserListTable = ref(null);\r\n\r\n const tableColumns = [\r\n {\r\n key: \"index\",\r\n label: \"STT\",\r\n sortable: true,\r\n thStyle: \"text-align: center; width: 50px;\",\r\n },\r\n { key: \"user\", label: \"Người dùng\" },\r\n {\r\n key: \"donVi\",\r\n label: \"Đơn vị\",\r\n // sortable: true\r\n },\r\n {\r\n key: \"unitRoleCode\",\r\n label: \"Vai trò\",\r\n class: \"text-center\",\r\n // sortable: true,\r\n },\r\n {\r\n key: \"isActived\",\r\n label: \"Trạng thái\",\r\n class: \"text-center\",\r\n // sortable: true,\r\n },\r\n\r\n {\r\n key: \"actions\",\r\n label: \"#\",\r\n thStyle: \"text-align: center; width: 50px;\",\r\n },\r\n ];\r\n\r\n const perPage = ref(10);\r\n const totalUsers = ref(0);\r\n const currentPage = ref(1);\r\n const perPageOptions = [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 const donViId = ref(null);\r\n const status = ref(true);\r\n const donVis = ref([]);\r\n\r\n const loginUser = GetUserInfo();\r\n\r\n const dataMeta = computed(() => {\r\n const localItemsCount = refUserListTable.value\r\n ? refUserListTable.value.localItems.length\r\n : 0;\r\n return {\r\n from: perPage.value * (currentPage.value - 1) + (localItemsCount ? 1 : 0),\r\n to: perPage.value * (currentPage.value - 1) + localItemsCount,\r\n of: totalUsers.value,\r\n };\r\n });\r\n\r\n const refetchData = () => {\r\n refUserListTable.value.refresh();\r\n };\r\n const getDonVi = () => {\r\n GetTree().then((response) => {\r\n // console.log(\"response\", response);\r\n donVis.value = response.data;\r\n });\r\n };\r\n getDonVi();\r\n\r\n const fetchUsers = (ctx, callback) => {\r\n let condition = {\r\n donViId: donViId.value,\r\n start: currentPage.value,\r\n limit: perPage.value,\r\n content: searchQuery.value,\r\n status: status.value,\r\n // sortBy: loadFilter.value,\r\n };\r\n GetPagingParams(condition).then((response) => {\r\n // console.log(\"response\", response);\r\n if (!response.isError) {\r\n const { data, totalRows } = response.data;\r\n\r\n //Auto remove me login\r\n let index = data.findIndex((x) => x.userName == loginUser.username);\r\n if (index != -1) {\r\n data.splice(index, 1);\r\n }\r\n\r\n callback(data);\r\n totalUsers.value = totalRows;\r\n } else {\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 resolveUserLockedVariant = (status) => {\r\n if (status == false) return \"secondary\";\r\n return \"success\";\r\n };\r\n\r\n watch([currentPage, perPage, searchQuery, donViId, status], () => {\r\n refetchData();\r\n });\r\n\r\n return {\r\n fetchUsers,\r\n getDonVi,\r\n tableColumns,\r\n perPage,\r\n currentPage,\r\n totalUsers,\r\n dataMeta,\r\n perPageOptions,\r\n searchQuery,\r\n sortBy,\r\n isSortDirDesc,\r\n refUserListTable,\r\n donViId,\r\n status,\r\n donVis,\r\n\r\n resolveUserLockedVariant,\r\n refetchData,\r\n\r\n // lockFilter,\r\n };\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"pb-50\"},[_c('h5',[_vm._v(\"Lọc thông tin\")])]),_c('b-card-body',[_c('b-row',[_c('b-col',{staticClass:\"mb-md-0 mb-2\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',[_vm._v(\"Đơn vị sử dụng\")]),_c('treeselect',{attrs:{\"options\":_vm.treeOptions,\"value-format\":\"id\",\"clearable\":true,\"searchable\":true,\"show-count\":true,\"default-expand-level\":1,\"normalizer\":_vm.normalizer,\"placeholder\":\"Chọn đơn vị\"},on:{\"select\":_vm.formatDonVis,\"input\":function($event){return _vm.$emit('update:donViFilter', _vm.value)}},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1),_c('b-col',{staticClass:\"mb-md-0 mb-2\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',[_vm._v(\"Trạng thái\")]),_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.lockOptions,\"reduce\":function (val) { return val.value; },\"clearable\":false},on:{\"input\":function($event){return _vm.$emit('update:status', _vm.status)}},model:{value:(_vm.status),callback:function ($$v) {_vm.status=$$v},expression:\"status\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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=7f3f5dda&\"\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-sidebar',{attrs:{\"id\":\"add-new-user-sidebar\",\"visible\":_vm.isAddNewUserSidebarActive,\"bg-variant\":\"white\",\"sidebar-class\":\"sidebar-lg\",\"shadow\":\"\",\"backdrop\":\"\",\"no-header\":\"\",\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\",\"right\":\"\"},on:{\"hidden\":_vm.resetForm,\"change\":function (val) { return _vm.$emit('update:is-add-new-user-sidebar-active', val); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hide = ref.hide;\nreturn [_c('div',{staticClass:\"d-flex justify-content-between align-items-center content-sidebar-header px-2 py-1\"},[_c('h5',{staticClass:\"mb-0\"},[_vm._v(\"Thông tin\")]),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",attrs:{\"icon\":\"XIcon\",\"size\":\"16\"},on:{\"click\":hide}})],1),_c('validation-observer',{ref:\"refFormObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{staticClass:\"p-2\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onSubmit)},\"reset\":function($event){$event.preventDefault();return _vm.resetForm.apply(null, arguments)}}},[_c('validation-provider',{attrs:{\"name\":\"Đơn vị\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_c('label',[_vm._v(\"Đơn vị\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('treeselect',{attrs:{\"options\":_vm.treeOptions,\"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.getCBCC},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Cán bộ\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('label',{attrs:{\"label-for\":\"canBo\"}},[_vm._v(\"Cán bộ\")]),_c('b-form-group',[_c('v-select',{attrs:{\"placeholder\":\"\",\"label\":\"hoVaTen\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.listCanBo,\"reduce\":function (val) { return val; },\"clearable\":false,\"input-id\":\"canBo\"},on:{\"input\":_vm.canbo},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar hoVaTen = ref.hoVaTen;\nvar email = ref.email;\nreturn [_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('span',[_vm._v(_vm._s(hoVaTen))]),_c('span',[_vm._v(_vm._s(email))])])]}}],null,true),model:{value:(_vm.canBo),callback:function ($$v) {_vm.canBo=$$v},expression:\"canBo\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Họ và tên\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('label',{attrs:{\"label-for\":\"full-name\"}},[_vm._v(\"Họ và tên \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-group',[_c('b-form-input',{attrs:{\"id\":\"full-name\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\"},model:{value:(_vm.fullName),callback:function ($$v) {_vm.fullName=$$v},expression:\"fullName\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Username\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('label',{attrs:{\"label-for\":\"username\"}},[_vm._v(\"Tài khoản (UserName)\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-group',[_c('b-form-input',{attrs:{\"id\":\"username\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\"},model:{value:(_vm.userName),callback:function ($$v) {_vm.userName=$$v},expression:\"userName\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Vai trò\",\"rules\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Vai trò\",\"label-for\":\"vaiTro\",\"state\":_vm.getValidationState(validationContext)}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"reduce\":function (val) { return val; },\"options\":_vm.listRole,\"label\":\"name\",\"disabled\":_vm.isWait,\"clearable\":false,\"input-id\":\"vaiTro\"},model:{value:(_vm.unitRoleView),callback:function ($$v) {_vm.unitRoleView=$$v},expression:\"unitRoleView\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex mt-2\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mr-2\",attrs:{\"variant\":\"primary\",\"disabled\":_vm.isWait,\"type\":\"submit\"}},[_vm._v(\" Lưu \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"disabled\":_vm.isWait},on:{\"click\":hide}},[_vm._v(\" Đóng \")])],1)],1)]}}],null,true)})]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./AddNew.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!./AddNew.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddNew.vue?vue&type=template&id=085d2ba1&\"\nimport script from \"./AddNew.vue?vue&type=script&lang=js&\"\nexport * from \"./AddNew.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddNew.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-sidebar',{attrs:{\"id\":\"add-new-user-sidebar\",\"visible\":_vm.isAddNewUserSidebarActive,\"bg-variant\":\"white\",\"sidebar-class\":\"sidebar-lg\",\"shadow\":\"\",\"backdrop\":\"\",\"no-header\":\"\",\"right\":\"\",\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\"},on:{\"hidden\":_vm.resetForm,\"change\":function (val) { return _vm.$emit('update:is-add-new-user-sidebar-active', val); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hide = ref.hide;\nreturn [_c('div',{staticClass:\"d-flex justify-content-between align-items-center content-sidebar-header px-2 py-1\"},[_c('h5',{staticClass:\"mb-0\"},[_vm._v(\"Thông tin\")]),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",attrs:{\"icon\":\"XIcon\",\"size\":\"16\"},on:{\"click\":hide}})],1),_c('validation-observer',{ref:\"refFormObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{staticClass:\"p-2\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onSubmit)},\"reset\":function($event){$event.preventDefault();return _vm.resetForm.apply(null, arguments)}}},[_c('validation-provider',{attrs:{\"name\":\"Họ và tên\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('label',{attrs:{\"label-for\":\"full-name\"}},[_vm._v(\"Họ và tên \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-group',[_c('b-form-input',{attrs:{\"id\":\"full-name\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"disabled\":true,\"placeholder\":\"Họ và tên\"},model:{value:(_vm.userData.fullName),callback:function ($$v) {_vm.$set(_vm.userData, \"fullName\", $$v)},expression:\"userData.fullName\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Tài khoản (UserName)\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('label',{attrs:{\"label-for\":\"username\"}},[_vm._v(\"Tài khoản (UserName) \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-group',[_c('b-form-input',{attrs:{\"id\":\"username\",\"state\":_vm.getValidationState(validationContext),\"disabled\":(_vm.userData.id && _vm.userData.id != '') || _vm.isWait,\"trim\":\"\"},model:{value:(_vm.userData.userName),callback:function ($$v) {_vm.$set(_vm.userData, \"userName\", $$v)},expression:\"userData.userName\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Vai trò\",\"rules\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Vai trò\",\"label-for\":\"vaiTro\",\"state\":_vm.getValidationState(validationContext)}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"reduce\":function (val) { return val.id; },\"options\":_vm.listRole,\"label\":\"name\",\"disabled\":_vm.isWait,\"clearable\":false,\"input-id\":\"vaiTro\"},model:{value:(_vm.userData.unitRoleId),callback:function ($$v) {_vm.$set(_vm.userData, \"unitRoleId\", $$v)},expression:\"userData.unitRoleId\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex mt-2\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mr-2\",attrs:{\"variant\":\"primary\",\"disabled\":_vm.isWait,\"type\":\"submit\"}},[_vm._v(\" Lưu \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"disabled\":_vm.isWait},on:{\"click\":hide}},[_vm._v(\" Đóng \")])],1)],1)]}}],null,true)})]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./Edit.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!./Edit.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Edit.vue?vue&type=template&id=5d490b57&\"\nimport script from \"./Edit.vue?vue&type=script&lang=js&\"\nexport * from \"./Edit.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Edit.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","