@iankibetsh/shframework 1.9.3 → 1.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/library.js +283 -240
  2. package/dist/library.mjs +249 -225
  3. package/package.json +1 -1
package/dist/library.mjs CHANGED
@@ -2,7 +2,7 @@ import Axios from 'axios';
2
2
  import moment from 'moment';
3
3
  import Swal from 'sweetalert2';
4
4
  import NProgress from 'nprogress';
5
- import { openBlock, createElementBlock, createElementVNode, createTextVNode, toDisplayString, createCommentVNode, withDirectives, Fragment, renderList, vModelSelect, vModelText, ref, onMounted, unref, normalizeClass, resolveComponent, createBlock, resolveDynamicComponent, watch, inject, mergeProps, normalizeStyle, renderSlot, createVNode, normalizeProps, guardReactiveProps, withCtx, createStaticVNode, shallowRef, vModelCheckbox, pushScopeId, popScopeId, markRaw, computed, isRef } from 'vue';
5
+ import { openBlock, createElementBlock, createElementVNode, createTextVNode, toDisplayString, createCommentVNode, withDirectives, Fragment, renderList, vModelSelect, vModelText, ref, onMounted, unref, normalizeClass, resolveComponent, createBlock, resolveDynamicComponent, watch, inject, mergeProps, normalizeStyle, renderSlot, createVNode, normalizeProps, guardReactiveProps, withCtx, createStaticVNode, shallowRef, vModelCheckbox, pushScopeId, popScopeId, markRaw, defineAsyncComponent, computed, isRef } from 'vue';
6
6
  import _ from 'lodash';
7
7
  import { useRoute, useRouter } from 'vue-router';
8
8
  import { defineStore, storeToRefs } from 'pinia';
@@ -142,21 +142,7 @@ const signOutUser = ()=>{
142
142
  };
143
143
 
144
144
 
145
- const Toast = Swal.mixin({
146
- toast: true,
147
- position: 'top-end',
148
- showConfirmButton: false,
149
- customClass: {
150
- popup: 'colored-toast'
151
- },
152
- iconColor: 'white',
153
- timer: 2000,
154
- timerProgressBar: true,
155
- didOpen: (toast) => {
156
- toast.addEventListener('mouseenter', Swal.stopTimer);
157
- toast.addEventListener('mouseleave', Swal.resumeTimer);
158
- }
159
- });
145
+
160
146
  function getShConfig(key = null,def = '') {
161
147
 
162
148
  const config = ShStorage.getItem('ShConfig') ?? {};
@@ -165,19 +151,37 @@ function getShConfig(key = null,def = '') {
165
151
  }
166
152
  return config
167
153
  }
168
- function showToast (message, toastType, position) {
154
+ function showToast (message, toastType, config) {
155
+ const mixinConfig = {
156
+ toast: true,
157
+ position: 'top-end',
158
+ showConfirmButton: false,
159
+ customClass: {
160
+ popup: 'colored-toast'
161
+ },
162
+ iconColor: 'white',
163
+ timer: 2000,
164
+ timerProgressBar: true,
165
+ didOpen: (toast) => {
166
+ toast.addEventListener('mouseenter', Swal.stopTimer);
167
+ toast.addEventListener('mouseleave', Swal.resumeTimer);
168
+ }
169
+ };
169
170
  if (!toastType) {
170
171
  toastType = 'success';
171
172
  }
172
- if(!position){
173
- position = window.swalPosition;
173
+ if(config){
174
+ // alert(config.position)
175
+ Object.keys(config).map(key=>mixinConfig[key] = config.key);
174
176
  }
177
+ const Toast = Swal.mixin(mixinConfig);
175
178
  Toast.mixin({
176
- position: position
179
+ position: 'top'
177
180
  });
178
181
  Toast.fire({
179
182
  icon: toastType,
180
- title: message
183
+ title: message,
184
+ postion: 'bottom'
181
185
  });
182
186
  }
183
187
 
@@ -1876,7 +1880,7 @@ const countries = [
1876
1880
  }
1877
1881
  ];
1878
1882
 
1879
- var script$u = {
1883
+ var script$v = {
1880
1884
  name: 'PhoneInput',
1881
1885
  props: ['modelValue', 'country_code'],
1882
1886
  data () {
@@ -1947,18 +1951,18 @@ var script$u = {
1947
1951
  };
1948
1952
 
1949
1953
  const _hoisted_1$o = { class: "sh-phone mb-3" };
1950
- const _hoisted_2$e = {
1954
+ const _hoisted_2$f = {
1951
1955
  key: 0,
1952
1956
  style: {"display":"contents"}
1953
1957
  };
1954
- const _hoisted_3$d = ["src"];
1955
- const _hoisted_4$d = ["value"];
1958
+ const _hoisted_3$e = ["src"];
1959
+ const _hoisted_4$e = ["value"];
1956
1960
 
1957
- function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1961
+ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
1958
1962
  return (openBlock(), createElementBlock("div", _hoisted_1$o, [
1959
1963
  ($data.selectedCountry)
1960
- ? (openBlock(), createElementBlock("div", _hoisted_2$e, [
1961
- createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$d),
1964
+ ? (openBlock(), createElementBlock("div", _hoisted_2$f, [
1965
+ createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$e),
1962
1966
  createTextVNode(" " + toDisplayString($data.selectedCountry.dialCode), 1 /* TEXT */)
1963
1967
  ]))
1964
1968
  : createCommentVNode("v-if", true),
@@ -1971,7 +1975,7 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1971
1975
  return (openBlock(), createElementBlock("option", {
1972
1976
  value: country,
1973
1977
  key: country.dialCode
1974
- }, toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$d))
1978
+ }, toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$e))
1975
1979
  }), 128 /* KEYED_FRAGMENT */))
1976
1980
  ], 544 /* HYDRATE_EVENTS, NEED_PATCH */), [
1977
1981
  [vModelSelect, $data.selectedCountry]
@@ -1989,16 +1993,16 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1989
1993
  ]))
1990
1994
  }
1991
1995
 
1992
- script$u.render = render$3;
1993
- script$u.__file = "src/lib/components/form-components/PhoneInput.vue";
1996
+ script$v.render = render$5;
1997
+ script$v.__file = "src/lib/components/form-components/PhoneInput.vue";
1994
1998
 
1995
1999
  const _hoisted_1$n = {
1996
2000
  key: 0,
1997
2001
  class: "dropdown sh-suggest"
1998
2002
  };
1999
- const _hoisted_2$d = ["id"];
2000
- const _hoisted_3$c = { class: "badge bg-secondary m-1 sh-selected-item" };
2001
- const _hoisted_4$c = ["onClick"];
2003
+ const _hoisted_2$e = ["id"];
2004
+ const _hoisted_3$d = { class: "badge bg-secondary m-1 sh-selected-item" };
2005
+ const _hoisted_4$d = ["onClick"];
2002
2006
  const _hoisted_5$a = ["id"];
2003
2007
  const _hoisted_6$9 = ["id", "aria-labelledby"];
2004
2008
  const _hoisted_7$7 = { key: 0 };
@@ -2013,7 +2017,7 @@ const _hoisted_10$5 = {
2013
2017
  };
2014
2018
 
2015
2019
 
2016
- var script$t = {
2020
+ var script$u = {
2017
2021
  __name: 'ShSuggest',
2018
2022
  props: ['fillSelects','modelValue'],
2019
2023
  emits: ['update:modelValue'],
@@ -2103,14 +2107,14 @@ return (_ctx, _cache) => {
2103
2107
  }, [
2104
2108
  createElementVNode("div", null, [
2105
2109
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(selectedSuggestions), (sgt) => {
2106
- return (openBlock(), createElementBlock("h5", _hoisted_3$c, [
2110
+ return (openBlock(), createElementBlock("h5", _hoisted_3$d, [
2107
2111
  createTextVNode(toDisplayString(sgt.name) + " ", 1 /* TEXT */),
2108
2112
  createElementVNode("button", {
2109
2113
  onClick: $event => (removeSuggestion(sgt.id)),
2110
2114
  type: "button",
2111
2115
  class: "btn-close border-start border-1 ms-1",
2112
2116
  "aria-label": "Close"
2113
- }, null, 8 /* PROPS */, _hoisted_4$c)
2117
+ }, null, 8 /* PROPS */, _hoisted_4$d)
2114
2118
  ]))
2115
2119
  }), 256 /* UNKEYED_FRAGMENT */))
2116
2120
  ]),
@@ -2121,7 +2125,7 @@ return (_ctx, _cache) => {
2121
2125
  onInput: filterData,
2122
2126
  class: "flex-fill h-100 sh-suggestion-input"
2123
2127
  }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5$a)
2124
- ], 8 /* PROPS */, _hoisted_2$d),
2128
+ ], 8 /* PROPS */, _hoisted_2$e),
2125
2129
  createElementVNode("ul", {
2126
2130
  class: "dropdown-menu w-100",
2127
2131
  id: 'dropwdown_section' + unref(id),
@@ -2154,15 +2158,15 @@ return (_ctx, _cache) => {
2154
2158
 
2155
2159
  };
2156
2160
 
2157
- script$t.__scopeId = "data-v-71cc9569";
2158
- script$t.__file = "src/lib/components/form-components/ShSuggest.vue";
2161
+ script$u.__scopeId = "data-v-71cc9569";
2162
+ script$u.__file = "src/lib/components/form-components/ShSuggest.vue";
2159
2163
 
2160
- var script$s = {
2164
+ var script$t = {
2161
2165
  name: 'ShForm',
2162
2166
  components: {
2163
- PhoneInput: script$u,
2164
- ShSuggest: script$t,
2165
- ShPhone: script$u
2167
+ PhoneInput: script$v,
2168
+ ShSuggest: script$u,
2169
+ ShPhone: script$v
2166
2170
  },
2167
2171
  props: [
2168
2172
  'action',
@@ -2485,16 +2489,16 @@ var script$s = {
2485
2489
  };
2486
2490
 
2487
2491
  const _hoisted_1$m = /*#__PURE__*/createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2488
- const _hoisted_2$c = {
2492
+ const _hoisted_2$d = {
2489
2493
  ref: "ShAutoForm",
2490
2494
  class: "sh-form"
2491
2495
  };
2492
- const _hoisted_3$b = {
2496
+ const _hoisted_3$c = {
2493
2497
  key: 0,
2494
2498
  class: "alert alert-danger alert-dismissible fade show sh-form-submission-error",
2495
2499
  role: "alert"
2496
2500
  };
2497
- const _hoisted_4$b = /*#__PURE__*/createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2501
+ const _hoisted_4$c = /*#__PURE__*/createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2498
2502
  const _hoisted_5$9 = { key: 0 };
2499
2503
  const _hoisted_6$8 = { key: 1 };
2500
2504
  const _hoisted_7$6 = { class: "row" };
@@ -2540,18 +2544,18 @@ const _hoisted_24$1 = /*#__PURE__*/createElementVNode("span", {
2540
2544
  "aria-hidden": "true"
2541
2545
  }, null, -1 /* HOISTED */);
2542
2546
 
2543
- function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2547
+ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2544
2548
  const _component_phone_input = resolveComponent("phone-input");
2545
2549
  const _component_ShSuggest = resolveComponent("ShSuggest");
2546
2550
 
2547
2551
  return (openBlock(), createElementBlock(Fragment, null, [
2548
2552
  _hoisted_1$m,
2549
- createElementVNode("form", _hoisted_2$c, [
2553
+ createElementVNode("form", _hoisted_2$d, [
2550
2554
  createCommentVNode(" <div v-if=\"form_status == 1\" class=\"alert alert-info\">Processing...</div>"),
2551
2555
  createCommentVNode(" <div v-if=\"form_status == 2\" class=\"alert alert-success\">Success</div>"),
2552
2556
  (_ctx.form_status == 3)
2553
- ? (openBlock(), createElementBlock("div", _hoisted_3$b, [
2554
- _hoisted_4$b,
2557
+ ? (openBlock(), createElementBlock("div", _hoisted_3$c, [
2558
+ _hoisted_4$c,
2555
2559
  (_ctx.errorText)
2556
2560
  ? (openBlock(), createElementBlock("span", _hoisted_5$9, toDisplayString(_ctx.errorText), 1 /* TEXT */))
2557
2561
  : (openBlock(), createElementBlock("span", _hoisted_6$8, "Unexpected Error Occurred")),
@@ -2751,10 +2755,10 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2751
2755
  ], 64 /* STABLE_FRAGMENT */))
2752
2756
  }
2753
2757
 
2754
- script$s.render = render$2;
2755
- script$s.__file = "src/lib/components/ShForm.vue";
2758
+ script$t.render = render$4;
2759
+ script$t.__file = "src/lib/components/ShForm.vue";
2756
2760
 
2757
- var script$r = {
2761
+ var script$s = {
2758
2762
  __name: 'EmailInput',
2759
2763
  props: ['modelValue','label'],
2760
2764
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2794,12 +2798,12 @@ return (_ctx, _cache) => {
2794
2798
 
2795
2799
  };
2796
2800
 
2797
- script$r.__file = "src/lib/components/form-components/EmailInput.vue";
2801
+ script$s.__file = "src/lib/components/form-components/EmailInput.vue";
2798
2802
 
2799
2803
  const _hoisted_1$l = ["min", "max"];
2800
2804
 
2801
2805
 
2802
- var script$q = {
2806
+ var script$r = {
2803
2807
  __name: 'NumberInput',
2804
2808
  props: ['modelValue','label','min','max'],
2805
2809
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2841,9 +2845,9 @@ return (_ctx, _cache) => {
2841
2845
 
2842
2846
  };
2843
2847
 
2844
- script$q.__file = "src/lib/components/form-components/NumberInput.vue";
2848
+ script$r.__file = "src/lib/components/form-components/NumberInput.vue";
2845
2849
 
2846
- var script$p = {
2850
+ var script$q = {
2847
2851
  __name: 'TextInput',
2848
2852
  props: ['modelValue','label','isInvalid'],
2849
2853
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2885,9 +2889,9 @@ return (_ctx, _cache) => {
2885
2889
 
2886
2890
  };
2887
2891
 
2888
- script$p.__file = "src/lib/components/form-components/TextInput.vue";
2892
+ script$q.__file = "src/lib/components/form-components/TextInput.vue";
2889
2893
 
2890
- var script$o = {
2894
+ var script$p = {
2891
2895
  __name: 'TextAreaInput',
2892
2896
  props: ['modelValue','label'],
2893
2897
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2927,12 +2931,12 @@ return (_ctx, _cache) => {
2927
2931
 
2928
2932
  };
2929
2933
 
2930
- script$o.__file = "src/lib/components/form-components/TextAreaInput.vue";
2934
+ script$p.__file = "src/lib/components/form-components/TextAreaInput.vue";
2931
2935
 
2932
2936
  const _hoisted_1$k = ["value"];
2933
2937
 
2934
2938
 
2935
- var script$n = {
2939
+ var script$o = {
2936
2940
  __name: 'SelectInput',
2937
2941
  props: ['modelValue','label','data','dataUrl'],
2938
2942
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2997,9 +3001,9 @@ return (_ctx, _cache) => {
2997
3001
 
2998
3002
  };
2999
3003
 
3000
- script$n.__file = "src/lib/components/form-components/SelectInput.vue";
3004
+ script$o.__file = "src/lib/components/form-components/SelectInput.vue";
3001
3005
 
3002
- var script$m = {
3006
+ var script$n = {
3003
3007
  __name: 'PasswordInput',
3004
3008
  props: ['modelValue','label'],
3005
3009
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3035,12 +3039,12 @@ return (_ctx, _cache) => {
3035
3039
 
3036
3040
  };
3037
3041
 
3038
- script$m.__file = "src/lib/components/form-components/PasswordInput.vue";
3042
+ script$n.__file = "src/lib/components/form-components/PasswordInput.vue";
3039
3043
 
3040
3044
  const _hoisted_1$j = /*#__PURE__*/createElementVNode("div", null, null, -1 /* HOISTED */);
3041
- const _hoisted_2$b = ["onUpdate:modelValue"];
3042
- const _hoisted_3$a = ["innerHTML"];
3043
- const _hoisted_4$a = ["innerHTML"];
3045
+ const _hoisted_2$c = ["onUpdate:modelValue"];
3046
+ const _hoisted_3$b = ["innerHTML"];
3047
+ const _hoisted_4$b = ["innerHTML"];
3044
3048
  const _hoisted_5$8 = ["innerHTML"];
3045
3049
  const _hoisted_6$7 = ["disabled"];
3046
3050
  const _hoisted_7$5 = {
@@ -3052,7 +3056,7 @@ const _hoisted_7$5 = {
3052
3056
  const _hoisted_8$4 = { key: 1 };
3053
3057
 
3054
3058
 
3055
- var script$l = {
3059
+ var script$m = {
3056
3060
  __name: 'ShAutoForm',
3057
3061
  props: [
3058
3062
  'action','successCallback','retainDataAfterSubmission',
@@ -3085,13 +3089,13 @@ const getFieldComponent = (fieldObj)=>{
3085
3089
  const defaultPhones = ['phone'];
3086
3090
  const defaultEmails = ['email'];
3087
3091
  const formComponents = inject('formComponents');
3088
- const TextComponent = formComponents.text ?? script$p;
3089
- const TextAreaComponent = formComponents.textArea ?? script$o;
3090
- const EmailComponent = formComponents.email ?? script$r;
3091
- const PhoneComponent = formComponents.phone ?? script$u;
3092
- const NumberComponent = formComponents.number ?? script$q;
3093
- const SelectComponent = formComponents.select ?? script$n;
3094
- const PasswordComponent = formComponents.password ?? script$m;
3092
+ const TextComponent = formComponents.text ?? script$q;
3093
+ const TextAreaComponent = formComponents.textArea ?? script$p;
3094
+ const EmailComponent = formComponents.email ?? script$s;
3095
+ const PhoneComponent = formComponents.phone ?? script$v;
3096
+ const NumberComponent = formComponents.number ?? script$r;
3097
+ const SelectComponent = formComponents.select ?? script$o;
3098
+ const PasswordComponent = formComponents.password ?? script$n;
3095
3099
  if(props.customComponents && props.customComponents[field]) {
3096
3100
  return props.customComponents[field]
3097
3101
  }
@@ -3103,16 +3107,16 @@ const getFieldComponent = (fieldObj)=>{
3103
3107
  }
3104
3108
  else
3105
3109
  if((props.textAreas && props.textAreas.includes(field)) || defaultTextareas.includes(field)){
3106
- return formComponents.textArea ?? script$o
3110
+ return formComponents.textArea ?? script$p
3107
3111
  } else
3108
3112
  if((props.emails && props.emails.includes(field)) || defaultEmails.includes(field)){
3109
- return formComponents.email ?? script$r
3113
+ return formComponents.email ?? script$s
3110
3114
  } else
3111
3115
  if((props.phones && props.phones.includes(field)) || defaultPhones.includes(field)){
3112
- return formComponents.phone ?? script$u
3116
+ return formComponents.phone ?? script$v
3113
3117
  } else
3114
3118
  if((props.numbers && props.numbers.includes(field)) || defaultNumbers.includes(field)){
3115
- return formComponents.number ?? script$q
3119
+ return formComponents.number ?? script$r
3116
3120
  }
3117
3121
  // else
3118
3122
  // if((props.selects && props.selects.includes(field)) || defaultSelects.includes(field)){
@@ -3121,7 +3125,7 @@ const getFieldComponent = (fieldObj)=>{
3121
3125
  // if((props.dates && props.dates.includes(field)) || defaultDates.includes(field)){
3122
3126
  // return formComponents.date ?? DateInput
3123
3127
  // }
3124
- return formComponents.text ?? script$p
3128
+ return formComponents.text ?? script$q
3125
3129
  };
3126
3130
  const shFormElementClasses = ref(null);
3127
3131
  shFormElementClasses.value = inject('shFormElementClasses');
@@ -3276,7 +3280,7 @@ return (_ctx, _cache) => {
3276
3280
  key: 0,
3277
3281
  type: "hidden",
3278
3282
  "onUpdate:modelValue": $event => ((formFields.value[index].value) = $event)
3279
- }, null, 8 /* PROPS */, _hoisted_2$b)), [
3283
+ }, null, 8 /* PROPS */, _hoisted_2$c)), [
3280
3284
  [vModelText, formFields.value[index].value]
3281
3285
  ])
3282
3286
  : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
@@ -3285,7 +3289,7 @@ return (_ctx, _cache) => {
3285
3289
  key: 0,
3286
3290
  class: normalizeClass(getElementClass('formLabel')),
3287
3291
  innerHTML: field.label
3288
- }, null, 10 /* CLASS, PROPS */, _hoisted_3$a))
3292
+ }, null, 10 /* CLASS, PROPS */, _hoisted_3$b))
3289
3293
  : createCommentVNode("v-if", true),
3290
3294
  (openBlock(), createBlock(resolveDynamicComponent(getFieldComponent(field)), mergeProps(getComponentProps(field), {
3291
3295
  isInvalid: typeof validationErrors.value[field.field] !== 'undefined',
@@ -3299,7 +3303,7 @@ return (_ctx, _cache) => {
3299
3303
  key: 1,
3300
3304
  class: normalizeClass(getElementClass('formLabel')),
3301
3305
  innerHTML: field.label
3302
- }, null, 10 /* CLASS, PROPS */, _hoisted_4$a))
3306
+ }, null, 10 /* CLASS, PROPS */, _hoisted_4$b))
3303
3307
  : createCommentVNode("v-if", true),
3304
3308
  (field.helper)
3305
3309
  ? (openBlock(), createElementBlock("div", {
@@ -3342,12 +3346,12 @@ return (_ctx, _cache) => {
3342
3346
 
3343
3347
  };
3344
3348
 
3345
- script$l.__file = "src/lib/components/ShAutoForm.vue";
3349
+ script$m.__file = "src/lib/components/ShAutoForm.vue";
3346
3350
 
3347
3351
  const _hoisted_1$i = /*#__PURE__*/createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3348
- const _hoisted_2$a = { class: "dropdown" };
3352
+ const _hoisted_2$b = { class: "dropdown" };
3349
3353
 
3350
- var script$k = {
3354
+ var script$l = {
3351
3355
  __name: 'ShDropDownForm',
3352
3356
  props: ['action',
3353
3357
  'classes',
@@ -3378,7 +3382,7 @@ const dropdownId = 'rand' + (Math.random() + 1).toString(36).substring(2);
3378
3382
  return (_ctx, _cache) => {
3379
3383
  return (openBlock(), createElementBlock(Fragment, null, [
3380
3384
  _hoisted_1$i,
3381
- createElementVNode("div", _hoisted_2$a, [
3385
+ createElementVNode("div", _hoisted_2$b, [
3382
3386
  createElementVNode("a", {
3383
3387
  class: normalizeClass(unref(btnClass)),
3384
3388
  href: "#",
@@ -3394,7 +3398,7 @@ return (_ctx, _cache) => {
3394
3398
  class: "dropdown-menu px-2 py-1",
3395
3399
  "aria-labelledby": dropdownId
3396
3400
  }, [
3397
- createVNode(script$s, normalizeProps(guardReactiveProps(props)), null, 16 /* FULL_PROPS */)
3401
+ createVNode(script$t, normalizeProps(guardReactiveProps(props)), null, 16 /* FULL_PROPS */)
3398
3402
  ])
3399
3403
  ])
3400
3404
  ], 64 /* STABLE_FRAGMENT */))
@@ -3403,12 +3407,12 @@ return (_ctx, _cache) => {
3403
3407
 
3404
3408
  };
3405
3409
 
3406
- script$k.__file = "src/lib/components/ShDropDownForm.vue";
3410
+ script$l.__file = "src/lib/components/ShDropDownForm.vue";
3407
3411
 
3408
3412
  const _hoisted_1$h = ["id"];
3409
- const _hoisted_2$9 = { class: "modal-content" };
3410
- const _hoisted_3$9 = { class: "modal-header" };
3411
- const _hoisted_4$9 = { class: "modal-title" };
3413
+ const _hoisted_2$a = { class: "modal-content" };
3414
+ const _hoisted_3$a = { class: "modal-header" };
3415
+ const _hoisted_4$a = { class: "modal-title" };
3412
3416
  const _hoisted_5$7 = /*#__PURE__*/createElementVNode("button", {
3413
3417
  class: "btn btn-danger btn-sm",
3414
3418
  "data-bs-dismiss": "modal",
@@ -3417,7 +3421,7 @@ const _hoisted_5$7 = /*#__PURE__*/createElementVNode("button", {
3417
3421
  const _hoisted_6$6 = { class: "modal-body" };
3418
3422
  const _hoisted_7$4 = { class: "section" };
3419
3423
 
3420
- var script$j = {
3424
+ var script$k = {
3421
3425
  __name: 'ShModal',
3422
3426
  props: {
3423
3427
  modalId: {
@@ -3454,9 +3458,9 @@ return (_ctx, _cache) => {
3454
3458
  createElementVNode("div", {
3455
3459
  class: normalizeClass(["modal-dialog", `modal-${__props.modalSize}`])
3456
3460
  }, [
3457
- createElementVNode("div", _hoisted_2$9, [
3458
- createElementVNode("div", _hoisted_3$9, [
3459
- createElementVNode("h3", _hoisted_4$9, toDisplayString(__props.modalTitle), 1 /* TEXT */),
3461
+ createElementVNode("div", _hoisted_2$a, [
3462
+ createElementVNode("div", _hoisted_3$a, [
3463
+ createElementVNode("h3", _hoisted_4$a, toDisplayString(__props.modalTitle), 1 /* TEXT */),
3460
3464
  _hoisted_5$7
3461
3465
  ]),
3462
3466
  createElementVNode("div", _hoisted_6$6, [
@@ -3472,11 +3476,11 @@ return (_ctx, _cache) => {
3472
3476
 
3473
3477
  };
3474
3478
 
3475
- script$j.__file = "src/lib/components/ShModal.vue";
3479
+ script$k.__file = "src/lib/components/ShModal.vue";
3476
3480
 
3477
3481
  const _hoisted_1$g = ["href"];
3478
3482
 
3479
- var script$i = {
3483
+ var script$j = {
3480
3484
  __name: 'ShModalForm',
3481
3485
  props: ['action',
3482
3486
  'classes',
@@ -3516,12 +3520,12 @@ return (_ctx, _cache) => {
3516
3520
  }, [
3517
3521
  renderSlot(_ctx.$slots, "default")
3518
3522
  ], 10 /* CLASS, PROPS */, _hoisted_1$g),
3519
- createVNode(script$j, {
3523
+ createVNode(script$k, {
3520
3524
  "modal-id": modalId,
3521
3525
  "modal-title": __props.modalTitle
3522
3526
  }, {
3523
3527
  default: withCtx(() => [
3524
- createVNode(script$s, mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3528
+ createVNode(script$t, mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3525
3529
  ]),
3526
3530
  _: 1 /* STABLE */
3527
3531
  }, 8 /* PROPS */, ["modal-title"])
@@ -3531,11 +3535,11 @@ return (_ctx, _cache) => {
3531
3535
 
3532
3536
  };
3533
3537
 
3534
- script$i.__file = "src/lib/components/ShModalForm.vue";
3538
+ script$j.__file = "src/lib/components/ShModalForm.vue";
3535
3539
 
3536
3540
  const _hoisted_1$f = ["href"];
3537
3541
 
3538
- var script$h = {
3542
+ var script$i = {
3539
3543
  __name: 'ShModalFormAuto',
3540
3544
  props: ['action',
3541
3545
  'classes',
@@ -3576,12 +3580,12 @@ return (_ctx, _cache) => {
3576
3580
  }, [
3577
3581
  renderSlot(_ctx.$slots, "default")
3578
3582
  ], 10 /* CLASS, PROPS */, _hoisted_1$f),
3579
- createVNode(script$j, {
3583
+ createVNode(script$k, {
3580
3584
  "modal-id": modalId,
3581
3585
  "modal-title": __props.modalTitle
3582
3586
  }, {
3583
3587
  default: withCtx(() => [
3584
- createVNode(script$l, mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3588
+ createVNode(script$m, mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3585
3589
  ]),
3586
3590
  _: 1 /* STABLE */
3587
3591
  }, 8 /* PROPS */, ["modal-title"])
@@ -3591,17 +3595,17 @@ return (_ctx, _cache) => {
3591
3595
 
3592
3596
  };
3593
3597
 
3594
- script$h.__file = "src/lib/components/ShModalFormAuto.vue";
3598
+ script$i.__file = "src/lib/components/ShModalFormAuto.vue";
3595
3599
 
3596
3600
  const _hoisted_1$e = ["id"];
3597
- const _hoisted_2$8 = { class: "offcanvas-header" };
3598
- const _hoisted_3$8 = {
3601
+ const _hoisted_2$9 = { class: "offcanvas-header" };
3602
+ const _hoisted_3$9 = {
3599
3603
  class: "offcanvas-title",
3600
3604
  id: "offcanvasScrollingLabel"
3601
3605
  };
3602
- const _hoisted_4$8 = { class: "offcanvas-body" };
3606
+ const _hoisted_4$9 = { class: "offcanvas-body" };
3603
3607
 
3604
- var script$g = {
3608
+ var script$h = {
3605
3609
  __name: 'ShCanvas',
3606
3610
  props: {
3607
3611
  canvasId: {
@@ -3646,8 +3650,8 @@ return (_ctx, _cache) => {
3646
3650
  id: __props.canvasId,
3647
3651
  "aria-labelledby": "offcanvasScrollingLabel"
3648
3652
  }, [
3649
- createElementVNode("div", _hoisted_2$8, [
3650
- createElementVNode("h5", _hoisted_3$8, toDisplayString(__props.canvasTitle), 1 /* TEXT */),
3653
+ createElementVNode("div", _hoisted_2$9, [
3654
+ createElementVNode("h5", _hoisted_3$9, toDisplayString(__props.canvasTitle), 1 /* TEXT */),
3651
3655
  createElementVNode("button", {
3652
3656
  type: "button",
3653
3657
  ref: "closecanvas",
@@ -3657,7 +3661,7 @@ return (_ctx, _cache) => {
3657
3661
  "aria-label": "Close"
3658
3662
  }, null, 512 /* NEED_PATCH */)
3659
3663
  ]),
3660
- createElementVNode("div", _hoisted_4$8, [
3664
+ createElementVNode("div", _hoisted_4$9, [
3661
3665
  renderSlot(_ctx.$slots, "default")
3662
3666
  ])
3663
3667
  ], 10 /* CLASS, PROPS */, _hoisted_1$e))
@@ -3666,9 +3670,9 @@ return (_ctx, _cache) => {
3666
3670
 
3667
3671
  };
3668
3672
 
3669
- script$g.__file = "src/lib/components/ShCanvas.vue";
3673
+ script$h.__file = "src/lib/components/ShCanvas.vue";
3670
3674
 
3671
- var script$f = {
3675
+ var script$g = {
3672
3676
  name: 'Pagination',
3673
3677
  props: ['pagination_data', 'loadMore', 'hideCount', 'hideLoadMore', 'paginationStyle'],
3674
3678
  data () {
@@ -3740,11 +3744,11 @@ var script$f = {
3740
3744
  };
3741
3745
 
3742
3746
  const _hoisted_1$d = { key: 0 };
3743
- const _hoisted_2$7 = { class: "record_count_body mb-3" };
3744
- const _hoisted_3$7 = /*#__PURE__*/createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
3745
- const _hoisted_4$7 = /*#__PURE__*/createStaticVNode("<option value=\"10\">10</option><option value=\"25\">25</option><option value=\"50\">50</option><option value=\"100\">100</option><option value=\"200\">200</option>", 5);
3747
+ const _hoisted_2$8 = { class: "record_count_body mb-3" };
3748
+ const _hoisted_3$8 = /*#__PURE__*/createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
3749
+ const _hoisted_4$8 = /*#__PURE__*/createStaticVNode("<option value=\"10\">10</option><option value=\"25\">25</option><option value=\"50\">50</option><option value=\"100\">100</option><option value=\"200\">200</option>", 5);
3746
3750
  const _hoisted_9$4 = [
3747
- _hoisted_4$7
3751
+ _hoisted_4$8
3748
3752
  ];
3749
3753
  const _hoisted_10$3 = { class: "record_counts" };
3750
3754
  const _hoisted_11$2 = {
@@ -3787,11 +3791,11 @@ const _hoisted_23$1 = {
3787
3791
  class: "spinner-border"
3788
3792
  };
3789
3793
 
3790
- function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3794
+ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
3791
3795
  return ($props.paginationStyle !== 'loadMore')
3792
3796
  ? (openBlock(), createElementBlock("div", _hoisted_1$d, [
3793
- createElementVNode("div", _hoisted_2$7, [
3794
- _hoisted_3$7,
3797
+ createElementVNode("div", _hoisted_2$8, [
3798
+ _hoisted_3$8,
3795
3799
  createTextVNode("  "),
3796
3800
  withDirectives(createElementVNode("select", {
3797
3801
  class: "select_per_page",
@@ -3864,8 +3868,8 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3864
3868
  ]))
3865
3869
  }
3866
3870
 
3867
- script$f.render = render$1;
3868
- script$f.__file = "src/lib/components/list_templates/Pagination.vue";
3871
+ script$g.render = render$3;
3872
+ script$g.__file = "src/lib/components/list_templates/Pagination.vue";
3869
3873
 
3870
3874
  const _hoisted_1$c = /*#__PURE__*/createElementVNode("span", {
3871
3875
  class: "spinner-border spinner-border-sm me-1",
@@ -3874,7 +3878,7 @@ const _hoisted_1$c = /*#__PURE__*/createElementVNode("span", {
3874
3878
  }, null, -1 /* HOISTED */);
3875
3879
 
3876
3880
 
3877
- var script$e = {
3881
+ var script$f = {
3878
3882
  __name: 'ShConfirmAction',
3879
3883
  props: {
3880
3884
  data: Object,
@@ -3960,7 +3964,7 @@ return (_ctx, _cache) => {
3960
3964
 
3961
3965
  };
3962
3966
 
3963
- script$e.__file = "src/lib/components/ShConfirmAction.vue";
3967
+ script$f.__file = "src/lib/components/ShConfirmAction.vue";
3964
3968
 
3965
3969
  const _hoisted_1$b = /*#__PURE__*/createElementVNode("span", {
3966
3970
  class: "spinner-border spinner-border-sm me-1",
@@ -3968,7 +3972,7 @@ const _hoisted_1$b = /*#__PURE__*/createElementVNode("span", {
3968
3972
  "aria-hidden": "true"
3969
3973
  }, null, -1 /* HOISTED */);
3970
3974
 
3971
- var script$d = {
3975
+ var script$e = {
3972
3976
  __name: 'ShSilentAction',
3973
3977
  props: {
3974
3978
  data: Object,
@@ -4056,9 +4060,9 @@ return (_ctx, _cache) => {
4056
4060
 
4057
4061
  };
4058
4062
 
4059
- script$d.__file = "src/lib/components/ShSilentAction.vue";
4063
+ script$e.__file = "src/lib/components/ShSilentAction.vue";
4060
4064
 
4061
- var script$c = {
4065
+ var script$d = {
4062
4066
  name: 'sh-table',
4063
4067
  props: ['endPoint', 'headers','query', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'hideSearch', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields', 'tableHover', 'hideIds', 'paginationStyle'],
4064
4068
  inject: ['channel'],
@@ -4313,10 +4317,10 @@ var script$c = {
4313
4317
  this.reloadData();
4314
4318
  },
4315
4319
  components: {
4316
- ShSilentAction: script$d,
4317
- ShConfirmAction: script$e,
4318
- ShCanvas: script$g,
4319
- pagination: script$f
4320
+ ShSilentAction: script$e,
4321
+ ShConfirmAction: script$f,
4322
+ ShCanvas: script$h,
4323
+ pagination: script$g
4320
4324
  },
4321
4325
  computed: {
4322
4326
  windowWidth: function () {
@@ -4335,12 +4339,12 @@ var script$c = {
4335
4339
  };
4336
4340
 
4337
4341
  const _hoisted_1$a = { class: "auto-table mt-2" };
4338
- const _hoisted_2$6 = {
4342
+ const _hoisted_2$7 = {
4339
4343
  key: 0,
4340
4344
  class: "col-md-4 mb-2"
4341
4345
  };
4342
- const _hoisted_3$6 = ["disabled"];
4343
- const _hoisted_4$6 = /*#__PURE__*/createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
4346
+ const _hoisted_3$7 = ["disabled"];
4347
+ const _hoisted_4$7 = /*#__PURE__*/createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
4344
4348
  const _hoisted_5$6 = /*#__PURE__*/createElementVNode("span", {
4345
4349
  class: "spinner-border spinner-border-sm",
4346
4350
  role: "status",
@@ -4490,7 +4494,7 @@ const _hoisted_63 = { key: 0 };
4490
4494
  const _hoisted_64 = ["href"];
4491
4495
  const _hoisted_65 = ["title", "onClick"];
4492
4496
 
4493
- function render(_ctx, _cache, $props, $setup, $data, $options) {
4497
+ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
4494
4498
  const _component_router_link = resolveComponent("router-link");
4495
4499
  const _component_sh_confirm_action = resolveComponent("sh-confirm-action");
4496
4500
  const _component_sh_silent_action = resolveComponent("sh-silent-action");
@@ -4499,7 +4503,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4499
4503
 
4500
4504
  return (openBlock(), createElementBlock("div", _hoisted_1$a, [
4501
4505
  ($props.hasDownload)
4502
- ? (openBlock(), createElementBlock("div", _hoisted_2$6, [
4506
+ ? (openBlock(), createElementBlock("div", _hoisted_2$7, [
4503
4507
  createElementVNode("button", {
4504
4508
  disabled: $data.downloading,
4505
4509
  class: "btn btn-warning btn-sm",
@@ -4507,14 +4511,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4507
4511
  }, [
4508
4512
  (!$data.downloading)
4509
4513
  ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4510
- _hoisted_4$6,
4514
+ _hoisted_4$7,
4511
4515
  createTextVNode(" Export ")
4512
4516
  ], 64 /* STABLE_FRAGMENT */))
4513
4517
  : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
4514
4518
  _hoisted_5$6,
4515
4519
  _hoisted_6$5
4516
4520
  ], 64 /* STABLE_FRAGMENT */))
4517
- ], 8 /* PROPS */, _hoisted_3$6)
4521
+ ], 8 /* PROPS */, _hoisted_3$7)
4518
4522
  ]))
4519
4523
  : createCommentVNode("v-if", true),
4520
4524
  (!$props.hideSearch)
@@ -4950,10 +4954,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4950
4954
  ]))
4951
4955
  }
4952
4956
 
4953
- script$c.render = render;
4954
- script$c.__file = "src/lib/components/ShTable.vue";
4957
+ script$d.render = render$2;
4958
+ script$d.__file = "src/lib/components/ShTable.vue";
4955
4959
 
4956
- var script$b = {
4960
+ var script$c = {
4957
4961
  __name: 'ShTabs',
4958
4962
  props: {
4959
4963
  tabs: {
@@ -5098,22 +5102,22 @@ return (_ctx, _cache) => {
5098
5102
 
5099
5103
  };
5100
5104
 
5101
- script$b.__file = "src/lib/components/ShTabs.vue";
5105
+ script$c.__file = "src/lib/components/ShTabs.vue";
5102
5106
 
5103
5107
  const _hoisted_1$9 = {
5104
5108
  class: "nav nav-tabs",
5105
5109
  role: "tablist"
5106
5110
  };
5107
- const _hoisted_2$5 = {
5111
+ const _hoisted_2$6 = {
5108
5112
  class: "nav-item",
5109
5113
  role: "presentation"
5110
5114
  };
5111
- const _hoisted_3$5 = ["onClick"];
5112
- const _hoisted_4$5 = /*#__PURE__*/createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
5115
+ const _hoisted_3$6 = ["onClick"];
5116
+ const _hoisted_4$6 = /*#__PURE__*/createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
5113
5117
  const _hoisted_5$5 = { class: "sh_tab_count" };
5114
5118
  const _hoisted_6$4 = { class: "tab-content" };
5115
5119
 
5116
- var script$a = {
5120
+ var script$b = {
5117
5121
  __name: 'ShDynamicTabs',
5118
5122
  props: ['tabs','data'],
5119
5123
  setup(__props) {
@@ -5140,7 +5144,7 @@ return (_ctx, _cache) => {
5140
5144
  return (openBlock(), createElementBlock(Fragment, null, [
5141
5145
  createElementVNode("ul", _hoisted_1$9, [
5142
5146
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(tabs), (tab) => {
5143
- return (openBlock(), createElementBlock("li", _hoisted_2$5, [
5147
+ return (openBlock(), createElementBlock("li", _hoisted_2$6, [
5144
5148
  createElementVNode("button", {
5145
5149
  onClick: $event => (setTab(tab)),
5146
5150
  class: normalizeClass(["nav-link", unref(currentTab) === tab ? 'active':''])
@@ -5148,11 +5152,11 @@ return (_ctx, _cache) => {
5148
5152
  createTextVNode(toDisplayString(tab.label) + " ", 1 /* TEXT */),
5149
5153
  (tab.count || tab.tabCount)
5150
5154
  ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
5151
- _hoisted_4$5,
5155
+ _hoisted_4$6,
5152
5156
  createElementVNode("sup", _hoisted_5$5, toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
5153
5157
  ], 64 /* STABLE_FRAGMENT */))
5154
5158
  : createCommentVNode("v-if", true)
5155
- ], 10 /* CLASS, PROPS */, _hoisted_3$5)
5159
+ ], 10 /* CLASS, PROPS */, _hoisted_3$6)
5156
5160
  ]))
5157
5161
  }), 256 /* UNKEYED_FRAGMENT */))
5158
5162
  ]),
@@ -5167,12 +5171,12 @@ return (_ctx, _cache) => {
5167
5171
 
5168
5172
  };
5169
5173
 
5170
- script$a.__file = "src/lib/components/ShDynamicTabs.vue";
5174
+ script$b.__file = "src/lib/components/ShDynamicTabs.vue";
5171
5175
 
5172
5176
  const _hoisted_1$8 = ["href"];
5173
5177
 
5174
5178
 
5175
- var script$9 = {
5179
+ var script$a = {
5176
5180
  __name: 'ShModalBtn',
5177
5181
  props: {
5178
5182
  modalId: {
@@ -5195,12 +5199,12 @@ return (_ctx, _cache) => {
5195
5199
 
5196
5200
  };
5197
5201
 
5198
- script$9.__file = "src/lib/components/ShModalBtn.vue";
5202
+ script$a.__file = "src/lib/components/ShModalBtn.vue";
5199
5203
 
5200
5204
  const _hoisted_1$7 = ["href"];
5201
5205
 
5202
5206
 
5203
- var script$8 = {
5207
+ var script$9 = {
5204
5208
  __name: 'ShCanvasBtn',
5205
5209
  props: {
5206
5210
  canvasId: {
@@ -5224,7 +5228,7 @@ return (_ctx, _cache) => {
5224
5228
 
5225
5229
  };
5226
5230
 
5227
- script$8.__file = "src/lib/components/ShCanvasBtn.vue";
5231
+ script$9.__file = "src/lib/components/ShCanvasBtn.vue";
5228
5232
 
5229
5233
  const useUserStore = defineStore('user-store', {
5230
5234
  state: () => ({
@@ -5324,17 +5328,17 @@ const useUserStore = defineStore('user-store', {
5324
5328
 
5325
5329
  const _withScopeId$1 = n => (pushScopeId("data-v-0d4fa0ac"),n=n(),popScopeId(),n);
5326
5330
  const _hoisted_1$6 = { class: "row permissions-main d-flex" };
5327
- const _hoisted_2$4 = {
5331
+ const _hoisted_2$5 = {
5328
5332
  id: "permissions-nav",
5329
5333
  class: "col-md-3 d-flex align-items-center py-4"
5330
5334
  };
5331
- const _hoisted_3$4 = {
5335
+ const _hoisted_3$5 = {
5332
5336
  key: 0,
5333
5337
  class: "mx-auto"
5334
5338
  };
5335
- const _hoisted_4$4 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/createElementVNode("span", { class: "spinner-grow mx-auto" }, null, -1 /* HOISTED */));
5339
+ const _hoisted_4$5 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/createElementVNode("span", { class: "spinner-grow mx-auto" }, null, -1 /* HOISTED */));
5336
5340
  const _hoisted_5$4 = [
5337
- _hoisted_4$4
5341
+ _hoisted_4$5
5338
5342
  ];
5339
5343
  const _hoisted_6$3 = {
5340
5344
  key: 1,
@@ -5363,7 +5367,7 @@ const _hoisted_17 = { class: "col-md-3" };
5363
5367
  const _hoisted_18 = /*#__PURE__*/ _withScopeId$1(() => /*#__PURE__*/createElementVNode("i", { class: "bi-check" }, null, -1 /* HOISTED */));
5364
5368
 
5365
5369
 
5366
- var script$7 = {
5370
+ var script$8 = {
5367
5371
  __name: 'ManagePermissions',
5368
5372
  emits: ['success'],
5369
5373
  setup(__props, { emit }) {
@@ -5468,9 +5472,9 @@ const getPermissionStyle = permission => {
5468
5472
 
5469
5473
  return (_ctx, _cache) => {
5470
5474
  return (openBlock(), createElementBlock("div", _hoisted_1$6, [
5471
- createElementVNode("div", _hoisted_2$4, [
5475
+ createElementVNode("div", _hoisted_2$5, [
5472
5476
  (loadingModules.value)
5473
- ? (openBlock(), createElementBlock("div", _hoisted_3$4, _hoisted_5$4))
5477
+ ? (openBlock(), createElementBlock("div", _hoisted_3$5, _hoisted_5$4))
5474
5478
  : (openBlock(), createElementBlock("ul", _hoisted_6$3, [
5475
5479
  (openBlock(true), createElementBlock(Fragment, null, renderList(modules.value, (module) => {
5476
5480
  return (openBlock(), createElementBlock("li", {
@@ -5521,7 +5525,7 @@ return (_ctx, _cache) => {
5521
5525
  (permissionsChanged.value)
5522
5526
  ? (openBlock(), createElementBlock("div", _hoisted_16, [
5523
5527
  createElementVNode("div", _hoisted_17, [
5524
- createVNode(script$d, {
5528
+ createVNode(script$e, {
5525
5529
  onSuccess: permissionsUpdated,
5526
5530
  url: `sh-departments/department/permissions/${unref(departmentId)}/${selectedModule.value}`,
5527
5531
  data: {permissions: selectedPermissions.value},
@@ -5545,14 +5549,14 @@ return (_ctx, _cache) => {
5545
5549
 
5546
5550
  };
5547
5551
 
5548
- script$7.__scopeId = "data-v-0d4fa0ac";
5549
- script$7.__file = "src/lib/components/core/Departments/department/ManagePermissions.vue";
5552
+ script$8.__scopeId = "data-v-0d4fa0ac";
5553
+ script$8.__file = "src/lib/components/core/Departments/department/ManagePermissions.vue";
5550
5554
 
5551
5555
  const _hoisted_1$5 = ["href"];
5552
5556
 
5553
5557
 
5554
- var script$6 = {
5555
- __name: 'Popups',
5558
+ var script$7 = {
5559
+ __name: 'ShRoutePopups',
5556
5560
  setup(__props) {
5557
5561
 
5558
5562
  const route = useRoute();
@@ -5632,7 +5636,7 @@ return (_ctx, _cache) => {
5632
5636
  class: "d-none"
5633
5637
  }, "Open Modal", 8 /* PROPS */, _hoisted_1$5),
5634
5638
  (popUp.value === 'modal')
5635
- ? (openBlock(), createBlock(script$j, {
5639
+ ? (openBlock(), createBlock(script$k, {
5636
5640
  key: 0,
5637
5641
  "modal-id": unref(modalId),
5638
5642
  "modal-size": size.value
@@ -5644,7 +5648,7 @@ return (_ctx, _cache) => {
5644
5648
  }, 8 /* PROPS */, ["modal-id", "modal-size"]))
5645
5649
  : createCommentVNode("v-if", true),
5646
5650
  (['offcanvas','canvas','offCanvas'].includes(popUp.value))
5647
- ? (openBlock(), createBlock(script$g, {
5651
+ ? (openBlock(), createBlock(script$h, {
5648
5652
  key: 1,
5649
5653
  "canvas-id": unref(canvasId),
5650
5654
  "canvas-size": size.value,
@@ -5662,32 +5666,56 @@ return (_ctx, _cache) => {
5662
5666
 
5663
5667
  };
5664
5668
 
5665
- script$6.__file = "src/lib/components/popups/Popups.vue";
5669
+ script$7.__file = "src/lib/components/popups/ShRoutePopups.vue";
5670
+
5671
+ const _hoisted_1$4 = { class: "alert alert-info" };
5672
+ const _hoisted_2$4 = /*#__PURE__*/createElementVNode("span", { class: "spinner-border" }, null, -1 /* HOISTED */);
5673
+ const _hoisted_3$4 = /*#__PURE__*/createElementVNode("span", null, "Loading", -1 /* HOISTED */);
5674
+ const _hoisted_4$4 = [
5675
+ _hoisted_2$4,
5676
+ _hoisted_3$4
5677
+ ];
5678
+
5679
+ function render$1(_ctx, _cache) {
5680
+ return (openBlock(), createElementBlock("div", _hoisted_1$4, _hoisted_4$4))
5681
+ }
5666
5682
 
5667
- const _hoisted_1$4 = ["href"];
5683
+ const script$6 = {};
5668
5684
 
5669
5685
 
5670
- var script$5 = {
5671
- __name: 'RoutePopups',
5686
+ script$6.render = render$1;
5687
+ script$6.__file = "src/lib/components/popups/etc/PopupLoading.vue";
5688
+
5689
+ function render(_ctx, _cache) {
5690
+ return (openBlock(), createElementBlock("h5", null, "Error loading popup"))
5691
+ }
5692
+
5693
+ const script$5 = {};
5694
+
5695
+
5696
+ script$5.render = render;
5697
+ script$5.__file = "src/lib/components/popups/etc/ErrorLoadingPopup.vue";
5698
+
5699
+ var script$4 = {
5700
+ __name: 'ShQueryPopups',
5672
5701
  setup(__props) {
5673
5702
 
5674
5703
  const route = useRoute();
5675
5704
  const popUp = ref(route.meta.popUp);
5676
5705
  const modalId = _.uniqueId('modal_');
5677
5706
  const canvasId = _.uniqueId('canvas_');
5678
- const componentView = ref(null);
5707
+ let PopupComponent = ref(null);
5679
5708
  ref(null);
5680
5709
  const router = useRouter();
5681
5710
  const position = ref(null);
5682
5711
  const size = ref(null);
5683
- watch(() => route.meta, meta => {
5684
- popUp.value = meta.popUp ?? meta.popup;
5712
+ const AsyncComp =ref(null);
5713
+ watch(() => route.query.popup, pop => {
5714
+ popUp.value = pop;
5715
+ position.value = route.query.position ?? route.query.side;
5716
+ size.value = route.query.size;
5685
5717
  if (popUp.value) {
5686
- // popups.push(meta)
5687
- // !popupPaths.includes(route.path) && popupPaths.push(route.path) && popups.push(meta)
5688
- position.value = meta.position ?? meta.side;
5689
- size.value = meta.size;
5690
- componentView.value = markRaw(route.matched[route.matched.length - 1].components.default);
5718
+ loadPopupComponent();
5691
5719
  setTimeout(() => {
5692
5720
  initPopup();
5693
5721
  }, 100);
@@ -5698,6 +5726,24 @@ watch(() => route.meta, meta => {
5698
5726
  }, 100);
5699
5727
  }
5700
5728
  });
5729
+ const loadPopupComponent = ()=>{
5730
+ const component = route.query.comp || '';
5731
+ PopupComponent.value = defineAsyncComponent({
5732
+ // the loader function
5733
+ loader: () => import(`../../../views/popups/${component}Popup.vue`),
5734
+
5735
+ // A component to use while the async component is loading
5736
+ loadingComponent: script$6,
5737
+ // Delay before showing the loading component. Default: 200ms.
5738
+ delay: 200,
5739
+
5740
+ // A component to use if the load fails
5741
+ errorComponent: script$5,
5742
+ // The error component will be displayed if a timeout is
5743
+ // provided and exceeded. Default: Infinity.
5744
+ timeout: 3000
5745
+ });
5746
+ };
5701
5747
  const closeOrphanedBackdrops = () => {
5702
5748
  const offCanvasBackdrop = document.querySelector('.offcanvas-backdrop');
5703
5749
  if (offCanvasBackdrop) {
@@ -5732,42 +5778,37 @@ const initPopup = () => {
5732
5778
  };
5733
5779
  const goBack = () => {
5734
5780
  if (route.matched.length) {
5735
- let backUrl = route.matched[route.matched.length - 2].path;
5736
- const params = route.params;
5737
- Object.keys(params).map(key => backUrl = backUrl.replace(`:${key}`,params[key]));
5781
+ let backUrl = route.path;
5782
+ // const params = route.params
5783
+ // Object.keys(params).map(key => backUrl = backUrl.replace(`:${key}`,params[key]))
5738
5784
  router.push(backUrl);
5739
5785
  }
5740
5786
  };
5741
5787
 
5742
5788
  return (_ctx, _cache) => {
5743
5789
  return (openBlock(), createElementBlock(Fragment, null, [
5744
- createElementVNode("a", {
5745
- "data-bs-toggle": "offcanvas",
5746
- href: '#' + unref(canvasId),
5747
- shallowRef: "canvasButton",
5748
- class: "d-none"
5749
- }, "Open Modal", 8 /* PROPS */, _hoisted_1$4),
5750
5790
  (popUp.value === 'modal')
5751
- ? (openBlock(), createBlock(script$j, {
5791
+ ? (openBlock(), createBlock(script$k, {
5752
5792
  key: 0,
5753
5793
  "modal-id": unref(modalId),
5754
5794
  "modal-size": size.value
5755
5795
  }, {
5756
5796
  default: withCtx(() => [
5757
- (openBlock(), createBlock(resolveDynamicComponent(componentView.value)))
5797
+ createVNode(unref(PopupComponent))
5758
5798
  ]),
5759
5799
  _: 1 /* STABLE */
5760
5800
  }, 8 /* PROPS */, ["modal-id", "modal-size"]))
5761
5801
  : createCommentVNode("v-if", true),
5762
5802
  (['offcanvas','canvas','offCanvas'].includes(popUp.value))
5763
- ? (openBlock(), createBlock(script$g, {
5803
+ ? (openBlock(), createBlock(script$h, {
5764
5804
  key: 1,
5765
5805
  "canvas-id": unref(canvasId),
5766
5806
  "canvas-size": size.value,
5767
5807
  position: position.value
5768
5808
  }, {
5769
5809
  default: withCtx(() => [
5770
- (openBlock(), createBlock(resolveDynamicComponent(componentView.value)))
5810
+ createVNode(unref(PopupComponent)),
5811
+ createVNode(unref(AsyncComp))
5771
5812
  ]),
5772
5813
  _: 1 /* STABLE */
5773
5814
  }, 8 /* PROPS */, ["canvas-id", "canvas-size", "position"]))
@@ -5778,24 +5819,7 @@ return (_ctx, _cache) => {
5778
5819
 
5779
5820
  };
5780
5821
 
5781
- script$5.__file = "src/lib/components/popups/RoutePopups.vue";
5782
-
5783
- var script$4 = {
5784
- __name: 'ShPopups',
5785
- setup(__props) {
5786
-
5787
-
5788
- return (_ctx, _cache) => {
5789
- return (openBlock(), createElementBlock(Fragment, null, [
5790
- createVNode(script$6),
5791
- createVNode(script$5)
5792
- ], 64 /* STABLE_FRAGMENT */))
5793
- }
5794
- }
5795
-
5796
- };
5797
-
5798
- script$4.__file = "src/lib/components/ShPopups.vue";
5822
+ script$4.__file = "src/lib/components/popups/ShQueryPopups.vue";
5799
5823
 
5800
5824
  const _hoisted_1$3 = { class: "sh-range" };
5801
5825
  const _hoisted_2$3 = { class: "dropdown" };
@@ -6011,7 +6035,7 @@ return (_ctx, _cache) => {
6011
6035
  _hoisted_5$2,
6012
6036
  createTextVNode(" ADD DEPARTMENT")
6013
6037
  ], 512 /* NEED_PATCH */),
6014
- createVNode(script$c, {
6038
+ createVNode(script$d, {
6015
6039
  headers: ['id','name','description', 'created_at'],
6016
6040
  "end-point": "sh-departments/list",
6017
6041
  actions: {
@@ -6025,12 +6049,12 @@ return (_ctx, _cache) => {
6025
6049
  ]
6026
6050
  }
6027
6051
  }),
6028
- createVNode(script$j, {
6052
+ createVNode(script$k, {
6029
6053
  "modal-id": "sh-department_modal",
6030
6054
  "modal-title": "Department Form"
6031
6055
  }, {
6032
6056
  default: withCtx(() => [
6033
- createVNode(script$s, {
6057
+ createVNode(script$t, {
6034
6058
  "success-callback": "departmentAdded",
6035
6059
  onDepartmentAdded: departmentAdded,
6036
6060
  action: "admin/departments/store",
@@ -6164,7 +6188,7 @@ return (_ctx, _cache) => {
6164
6188
  createElementVNode("div", _hoisted_2$1, [
6165
6189
  _hoisted_3$1,
6166
6190
  createElementVNode("h5", null, "Department #" + toDisplayString(unref(department).id) + " - " + toDisplayString(unref(department).name) + " Allowed Modules", 1 /* TEXT */),
6167
- createVNode(script$c, {
6191
+ createVNode(script$d, {
6168
6192
  actions: {
6169
6193
  label: 'Actions',
6170
6194
  actions: [
@@ -6184,12 +6208,12 @@ return (_ctx, _cache) => {
6184
6208
  headers: ['id',showModule,'created_at'],
6185
6209
  "end-point": 'admin/departments/department/list-modules/' + id.value
6186
6210
  }, null, 8 /* PROPS */, ["actions", "reload", "headers", "end-point"]),
6187
- createVNode(script$j, {
6211
+ createVNode(script$k, {
6188
6212
  "modal-id": "addModule",
6189
6213
  "modal-title": "Add Module Department"
6190
6214
  }, {
6191
6215
  default: withCtx(() => [
6192
- createVNode(script$s, {
6216
+ createVNode(script$t, {
6193
6217
  "reload-select-items": unref(reload),
6194
6218
  "success-callback": moduleAdded,
6195
6219
  "fill-selects": {
@@ -6211,7 +6235,7 @@ return (_ctx, _cache) => {
6211
6235
  ref: permissionCanvasBtn,
6212
6236
  "data-bs-toggle": "offcanvas"
6213
6237
  }, null, 512 /* NEED_PATCH */),
6214
- createVNode(script$g, {
6238
+ createVNode(script$h, {
6215
6239
  "canvas-id": "permissionsCanvas",
6216
6240
  position: "end enlarged",
6217
6241
  "canvas-title": "Module Permissions"
@@ -6326,7 +6350,7 @@ return (_ctx, _cache) => {
6326
6350
  : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
6327
6351
  (section.value === 'login')
6328
6352
  ? (openBlock(), createElementBlock("div", _hoisted_2, [
6329
- createVNode(script$s, {
6353
+ createVNode(script$t, {
6330
6354
  class: "sh-login-form",
6331
6355
  fields: ['email','password'],
6332
6356
  "action-label": "Login",
@@ -6351,7 +6375,7 @@ return (_ctx, _cache) => {
6351
6375
  (unref(registerSubTitle))
6352
6376
  ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString(unref(registerSubTitle)), 1 /* TEXT */))
6353
6377
  : createCommentVNode("v-if", true),
6354
- createVNode(script$s, {
6378
+ createVNode(script$t, {
6355
6379
  class: "sh-login-form",
6356
6380
  fields: unref(registrationFields),
6357
6381
  "action-label": "Sign Up",
@@ -6398,7 +6422,7 @@ const ShFrontend = {
6398
6422
  const registerTitle = options.registerTitle ?? 'Create a new account';
6399
6423
  const registerSubTitle = options.registerSubTitle ?? `It's quick and easy`;
6400
6424
  const logoutApiEndpoint = options.logoutApiEndpoint ?? `auth/logout`;
6401
- options.formTextInput ?? script$p;
6425
+ options.formTextInput ?? script$q;
6402
6426
  const loginUrl = options.loginUrl ?? `/login`;
6403
6427
  const redirectLogin = options.redirectLogin ?? `/`;
6404
6428
  const redirectRegister = options.redirectRegister ?? `/`;
@@ -6431,7 +6455,7 @@ const ShFrontend = {
6431
6455
  });
6432
6456
  options.router.addRoute({
6433
6457
  path: '/sh-departments/manage-permissions/:id',
6434
- component: script$7
6458
+ component: script$8
6435
6459
  });
6436
6460
  }
6437
6461
  //filter unwanted config items from options to be put in local storage
@@ -6456,4 +6480,4 @@ var shGql = {
6456
6480
  mutate
6457
6481
  };
6458
6482
 
6459
- export { countries as Countries, script$7 as ManagePermissions, script$l as ShAutoForm, script$g as ShCanvas, script$8 as ShCanvasBtn, script$e as ShConfirmAction, script$k as ShDropDownForm, script$a as ShDynamicTabs, script$s as ShForm, ShFrontend, script$j as ShModal, script$9 as ShModalBtn, script$i as ShModalForm, script$h as ShModalFormAuto, script$u as ShPhone, script$4 as ShPopups, script$3 as ShRange, script$d as ShSilentAction, script$c as ShTable, script$b as ShTabs, shApis, shGql, shRepo, ShStorage as shStorage, useUserStore };
6483
+ export { countries as Countries, script$8 as ManagePermissions, script$m as ShAutoForm, script$h as ShCanvas, script$9 as ShCanvasBtn, script$f as ShConfirmAction, script$l as ShDropDownForm, script$b as ShDynamicTabs, script$t as ShForm, ShFrontend, script$k as ShModal, script$a as ShModalBtn, script$j as ShModalForm, script$i as ShModalFormAuto, script$v as ShPhone, script$4 as ShQueryPopups, script$3 as ShRange, script$7 as ShRoutePopups, script$e as ShSilentAction, script$d as ShTable, script$c as ShTabs, shApis, shGql, shRepo, ShStorage as shStorage, useUserStore };