@iankibetsh/shframework 1.4.3 → 1.4.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 +412 -299
  2. package/dist/library.mjs +401 -288
  3. package/package.json +1 -1
package/dist/library.js CHANGED
@@ -1874,7 +1874,7 @@ const countries = [
1874
1874
  }
1875
1875
  ];
1876
1876
 
1877
- var script$n = {
1877
+ var script$o = {
1878
1878
  name: 'PhoneInput',
1879
1879
  props: ['modelValue', 'country_code'],
1880
1880
  data () {
@@ -1936,19 +1936,19 @@ var script$n = {
1936
1936
  }
1937
1937
  };
1938
1938
 
1939
- const _hoisted_1$i = { class: "sh-phone mb-3" };
1940
- const _hoisted_2$c = {
1939
+ const _hoisted_1$j = { class: "sh-phone mb-3" };
1940
+ const _hoisted_2$d = {
1941
1941
  key: 0,
1942
1942
  style: {"display":"contents"}
1943
1943
  };
1944
- const _hoisted_3$b = ["src"];
1945
- const _hoisted_4$b = ["value"];
1944
+ const _hoisted_3$c = ["src"];
1945
+ const _hoisted_4$c = ["value"];
1946
1946
 
1947
1947
  function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1948
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
1948
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
1949
1949
  ($data.selectedCountry)
1950
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$c, [
1951
- vue.createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$b),
1950
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$d, [
1951
+ vue.createElementVNode("img", { src: $data.flag }, null, 8 /* PROPS */, _hoisted_3$c),
1952
1952
  vue.createTextVNode(" " + vue.toDisplayString($data.selectedCountry.dialCode), 1 /* TEXT */)
1953
1953
  ]))
1954
1954
  : vue.createCommentVNode("v-if", true),
@@ -1961,7 +1961,7 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1961
1961
  return (vue.openBlock(), vue.createElementBlock("option", {
1962
1962
  value: country,
1963
1963
  key: country.dialCode
1964
- }, vue.toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$b))
1964
+ }, vue.toDisplayString(country.name + '(' + country.dialCode + ')'), 9 /* TEXT, PROPS */, _hoisted_4$c))
1965
1965
  }), 128 /* KEYED_FRAGMENT */))
1966
1966
  ], 544 /* HYDRATE_EVENTS, NEED_PATCH */), [
1967
1967
  [vue.vModelSelect, $data.selectedCountry]
@@ -1979,10 +1979,10 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1979
1979
  ]))
1980
1980
  }
1981
1981
 
1982
- script$n.render = render$7;
1983
- script$n.__file = "src/lib/components/form-components/PhoneInput.vue";
1982
+ script$o.render = render$7;
1983
+ script$o.__file = "src/lib/components/form-components/PhoneInput.vue";
1984
1984
 
1985
- var script$m = {
1985
+ var script$n = {
1986
1986
  name: 'ShEditor',
1987
1987
  props: ['modelValue'],
1988
1988
  components: {
@@ -2021,7 +2021,7 @@ var script$m = {
2021
2021
  }
2022
2022
  };
2023
2023
 
2024
- const _hoisted_1$h = /*#__PURE__*/vue.createElementVNode("textarea", {
2024
+ const _hoisted_1$i = /*#__PURE__*/vue.createElementVNode("textarea", {
2025
2025
  id: "tiny",
2026
2026
  style: {"display":"none"},
2027
2027
  "data-cy": "tinymce_editor"
@@ -2031,7 +2031,7 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
2031
2031
  const _component_editor = vue.resolveComponent("editor");
2032
2032
 
2033
2033
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
2034
- _hoisted_1$h,
2034
+ _hoisted_1$i,
2035
2035
  vue.createElementVNode("div", {
2036
2036
  onFocusin: _cache[1] || (_cache[1] = vue.withModifiers(() => {}, ["stop"])),
2037
2037
  class: "sh-editor w-100"
@@ -2056,31 +2056,31 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
2056
2056
  ], 64 /* STABLE_FRAGMENT */))
2057
2057
  }
2058
2058
 
2059
- script$m.render = render$6;
2060
- script$m.__file = "src/lib/components/form-components/ShEditor.vue";
2059
+ script$n.render = render$6;
2060
+ script$n.__file = "src/lib/components/form-components/ShEditor.vue";
2061
2061
 
2062
- const _hoisted_1$g = {
2062
+ const _hoisted_1$h = {
2063
2063
  key: 0,
2064
2064
  class: "dropdown sh-suggest"
2065
2065
  };
2066
- const _hoisted_2$b = ["id"];
2067
- const _hoisted_3$a = { class: "badge bg-secondary m-1 sh-selected-item" };
2068
- const _hoisted_4$a = ["onClick"];
2069
- const _hoisted_5$8 = ["id"];
2070
- const _hoisted_6$7 = ["id", "aria-labelledby"];
2071
- const _hoisted_7$5 = { key: 0 };
2072
- const _hoisted_8$3 = ["onClick"];
2073
- const _hoisted_9$4 = {
2066
+ const _hoisted_2$c = ["id"];
2067
+ const _hoisted_3$b = { class: "badge bg-secondary m-1 sh-selected-item" };
2068
+ const _hoisted_4$b = ["onClick"];
2069
+ const _hoisted_5$9 = ["id"];
2070
+ const _hoisted_6$8 = ["id", "aria-labelledby"];
2071
+ const _hoisted_7$6 = { key: 0 };
2072
+ const _hoisted_8$4 = ["onClick"];
2073
+ const _hoisted_9$5 = {
2074
2074
  key: 1,
2075
2075
  class: "dropdown-item sh-suggest-no-results"
2076
2076
  };
2077
- const _hoisted_10$3 = {
2077
+ const _hoisted_10$4 = {
2078
2078
  key: 2,
2079
2079
  class: "dropdown-item sh-suggest-no-input"
2080
2080
  };
2081
2081
 
2082
2082
 
2083
- var script$l = {
2083
+ var script$m = {
2084
2084
  __name: 'ShSuggest',
2085
2085
  props: ['fillSelects','modelValue'],
2086
2086
  emits: ['update:modelValue'],
@@ -2161,7 +2161,7 @@ function filterData(e){
2161
2161
 
2162
2162
  return (_ctx, _cache) => {
2163
2163
  return (vue.unref(id))
2164
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
2164
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
2165
2165
  vue.createElementVNode("div", {
2166
2166
  id: vue.unref(id),
2167
2167
  "data-bs-toggle": "dropdown",
@@ -2170,14 +2170,14 @@ return (_ctx, _cache) => {
2170
2170
  }, [
2171
2171
  vue.createElementVNode("div", null, [
2172
2172
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectedSuggestions), (sgt) => {
2173
- return (vue.openBlock(), vue.createElementBlock("h5", _hoisted_3$a, [
2173
+ return (vue.openBlock(), vue.createElementBlock("h5", _hoisted_3$b, [
2174
2174
  vue.createTextVNode(vue.toDisplayString(sgt.name) + " ", 1 /* TEXT */),
2175
2175
  vue.createElementVNode("button", {
2176
2176
  onClick: $event => (removeSuggestion(sgt.id)),
2177
2177
  type: "button",
2178
2178
  class: "btn-close border-start border-1 ms-1",
2179
2179
  "aria-label": "Close"
2180
- }, null, 8 /* PROPS */, _hoisted_4$a)
2180
+ }, null, 8 /* PROPS */, _hoisted_4$b)
2181
2181
  ]))
2182
2182
  }), 256 /* UNKEYED_FRAGMENT */))
2183
2183
  ]),
@@ -2187,8 +2187,8 @@ return (_ctx, _cache) => {
2187
2187
  onClick: filterData,
2188
2188
  onInput: filterData,
2189
2189
  class: "flex-fill h-100 sh-suggestion-input"
2190
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5$8)
2191
- ], 8 /* PROPS */, _hoisted_2$b),
2190
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5$9)
2191
+ ], 8 /* PROPS */, _hoisted_2$c),
2192
2192
  vue.createElementVNode("ul", {
2193
2193
  class: "dropdown-menu w-100",
2194
2194
  id: 'dropwdown_section' + vue.unref(id),
@@ -2200,20 +2200,20 @@ return (_ctx, _cache) => {
2200
2200
  key: suggestion.id
2201
2201
  }, [
2202
2202
  (suggestion.name)
2203
- ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_7$5, [
2203
+ ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_7$6, [
2204
2204
  vue.createElementVNode("a", {
2205
2205
  onClick: $event => (addSuggestion(suggestion)),
2206
2206
  class: vue.normalizeClass(["dropdown-item", vue.unref(selectedSuggestions).includes(suggestion) ? 'active':'']),
2207
2207
  href: "#"
2208
- }, vue.toDisplayString(suggestion.name ?? suggestion.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_8$3)
2208
+ }, vue.toDisplayString(suggestion.name ?? suggestion.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_8$4)
2209
2209
  ]))
2210
2210
  : vue.createCommentVNode("v-if", true)
2211
2211
  ], 64 /* STABLE_FRAGMENT */))
2212
2212
  }), 128 /* KEYED_FRAGMENT */))
2213
2213
  : (vue.unref(searchText))
2214
- ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_9$4, " No results found "))
2215
- : (vue.openBlock(), vue.createElementBlock("li", _hoisted_10$3, " Type to search... "))
2216
- ], 8 /* PROPS */, _hoisted_6$7)
2214
+ ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_9$5, " No results found "))
2215
+ : (vue.openBlock(), vue.createElementBlock("li", _hoisted_10$4, " Type to search... "))
2216
+ ], 8 /* PROPS */, _hoisted_6$8)
2217
2217
  ]))
2218
2218
  : vue.createCommentVNode("v-if", true)
2219
2219
  }
@@ -2221,16 +2221,16 @@ return (_ctx, _cache) => {
2221
2221
 
2222
2222
  };
2223
2223
 
2224
- script$l.__scopeId = "data-v-71cc9569";
2225
- script$l.__file = "src/lib/components/form-components/ShSuggest.vue";
2224
+ script$m.__scopeId = "data-v-71cc9569";
2225
+ script$m.__file = "src/lib/components/form-components/ShSuggest.vue";
2226
2226
 
2227
- var script$k = {
2227
+ var script$l = {
2228
2228
  name: 'ShForm',
2229
2229
  components: {
2230
- PhoneInput: script$n,
2231
- ShSuggest: script$l,
2232
- ShEditor: script$m,
2233
- ShPhone: script$n
2230
+ PhoneInput: script$o,
2231
+ ShSuggest: script$m,
2232
+ ShEditor: script$n,
2233
+ ShPhone: script$o
2234
2234
  },
2235
2235
  props: [
2236
2236
  'action',
@@ -2392,18 +2392,8 @@ var script$k = {
2392
2392
  closeModal: function () {
2393
2393
  document.body.style = '';
2394
2394
  setTimeout(() => {
2395
- const form = this.$refs.ShAutoForm;
2396
- if (form) {
2397
- const modal = form.closest('.modal.show');
2398
- if (modal) {
2399
- modal.click();
2400
- }
2401
- } else {
2402
- const backdrops = document.getElementsByClassName('modal-backdrop fade show');
2403
- if (backdrops.length > 0) {
2404
- backdrops[0].remove();
2405
- }
2406
- }
2395
+ const closeBtn = this.$refs.ShAutoForm.closest('.modal-dialog').querySelector('[data-bs-dismiss="modal"]');
2396
+ closeBtn && closeBtn.click();
2407
2397
  this.form_status = 0;
2408
2398
  }, 1500);
2409
2399
  },
@@ -2548,23 +2538,23 @@ var script$k = {
2548
2538
  }
2549
2539
  };
2550
2540
 
2551
- const _hoisted_1$f = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2552
- const _hoisted_2$a = {
2541
+ const _hoisted_1$g = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, null, -1 /* HOISTED */);
2542
+ const _hoisted_2$b = {
2553
2543
  ref: "ShAutoForm",
2554
2544
  class: "sh-form"
2555
2545
  };
2556
- const _hoisted_3$9 = {
2546
+ const _hoisted_3$a = {
2557
2547
  key: 0,
2558
2548
  class: "alert alert-danger alert-dismissible fade show sh-form-submission-error",
2559
2549
  role: "alert"
2560
2550
  };
2561
- const _hoisted_4$9 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2562
- const _hoisted_5$7 = { key: 0 };
2563
- const _hoisted_6$6 = { key: 1 };
2564
- const _hoisted_7$4 = { class: "row" };
2565
- const _hoisted_8$2 = { class: "fg-label control-label text-capitalize control-bel col-md-12 request-form-label mb-2" };
2566
- const _hoisted_9$3 = { class: "col-md-12" };
2567
- const _hoisted_10$2 = ["data-cy", "placeholder", "name", "onFocus", "onChange"];
2551
+ const _hoisted_4$a = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2552
+ const _hoisted_5$8 = { key: 0 };
2553
+ const _hoisted_6$7 = { key: 1 };
2554
+ const _hoisted_7$5 = { class: "row" };
2555
+ const _hoisted_8$3 = { class: "fg-label control-label text-capitalize control-bel col-md-12 request-form-label mb-2" };
2556
+ const _hoisted_9$4 = { class: "col-md-12" };
2557
+ const _hoisted_10$3 = ["data-cy", "placeholder", "name", "onFocus", "onChange"];
2568
2558
  const _hoisted_11$2 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
2569
2559
  const _hoisted_12$2 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
2570
2560
  const _hoisted_13$2 = ["data-cy", "placeholder", "name", "onFocus", "onUpdate:modelValue"];
@@ -2610,16 +2600,16 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
2610
2600
  const _component_ShEditor = vue.resolveComponent("ShEditor");
2611
2601
 
2612
2602
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
2613
- _hoisted_1$f,
2614
- vue.createElementVNode("form", _hoisted_2$a, [
2603
+ _hoisted_1$g,
2604
+ vue.createElementVNode("form", _hoisted_2$b, [
2615
2605
  vue.createCommentVNode(" <div v-if=\"form_status == 1\" class=\"alert alert-info\">Processing...</div>"),
2616
2606
  vue.createCommentVNode(" <div v-if=\"form_status == 2\" class=\"alert alert-success\">Success</div>"),
2617
2607
  (_ctx.form_status == 3)
2618
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$9, [
2619
- _hoisted_4$9,
2608
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$a, [
2609
+ _hoisted_4$a,
2620
2610
  (_ctx.errorText)
2621
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$7, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2622
- : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6, "Unexpected Error Occurred")),
2611
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$8, vue.toDisplayString(_ctx.errorText), 1 /* TEXT */))
2612
+ : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$7, "Unexpected Error Occurred")),
2623
2613
  vue.createCommentVNode(" <button @click=\"hideError\" type=\"button\" class=\"btn-close\" aria-label=\"Close\"></button>")
2624
2614
  ]))
2625
2615
  : vue.createCommentVNode("v-if", true),
@@ -2629,14 +2619,14 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
2629
2619
  }, null, 512 /* NEED_PATCH */), [
2630
2620
  [vue.vModelText, _ctx.form_elements['id']]
2631
2621
  ]),
2632
- vue.createElementVNode("div", _hoisted_7$4, [
2622
+ vue.createElementVNode("div", _hoisted_7$5, [
2633
2623
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.fields, (field) => {
2634
2624
  return (vue.openBlock(), vue.createElementBlock("div", {
2635
2625
  class: vue.normalizeClass(["form-group", 'col-md-' + $options.getColumns()]),
2636
2626
  key: field
2637
2627
  }, [
2638
- vue.createElementVNode("label", _hoisted_8$2, vue.toDisplayString($options.getLabel(field)), 1 /* TEXT */),
2639
- vue.createElementVNode("div", _hoisted_9$3, [
2628
+ vue.createElementVNode("label", _hoisted_8$3, vue.toDisplayString($options.getLabel(field)), 1 /* TEXT */),
2629
+ vue.createElementVNode("div", _hoisted_9$4, [
2640
2630
  ($options.getFieldType(field) === 'component')
2641
2631
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.customComponent[field]), {
2642
2632
  key: 0,
@@ -2661,7 +2651,7 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
2661
2651
  ref: 'file_'+field,
2662
2652
  onChange: $event => ($options.handleFileUpload(field)),
2663
2653
  type: "file"
2664
- }, null, 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_10$2))
2654
+ }, null, 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_10$3))
2665
2655
  : vue.createCommentVNode("v-if", true),
2666
2656
  ($options.getFieldType(field) === 'numeric')
2667
2657
  ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
@@ -2827,10 +2817,10 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
2827
2817
  ], 64 /* STABLE_FRAGMENT */))
2828
2818
  }
2829
2819
 
2830
- script$k.render = render$5;
2831
- script$k.__file = "src/lib/components/ShForm.vue";
2820
+ script$l.render = render$5;
2821
+ script$l.__file = "src/lib/components/ShForm.vue";
2832
2822
 
2833
- var script$j = {
2823
+ var script$k = {
2834
2824
  __name: 'EmailInput',
2835
2825
  props: ['modelValue','label'],
2836
2826
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2866,12 +2856,12 @@ return (_ctx, _cache) => {
2866
2856
 
2867
2857
  };
2868
2858
 
2869
- script$j.__file = "src/lib/components/form-components/EmailInput.vue";
2859
+ script$k.__file = "src/lib/components/form-components/EmailInput.vue";
2870
2860
 
2871
- const _hoisted_1$e = ["min", "max"];
2861
+ const _hoisted_1$f = ["min", "max"];
2872
2862
 
2873
2863
 
2874
- var script$i = {
2864
+ var script$j = {
2875
2865
  __name: 'NumberInput',
2876
2866
  props: ['modelValue','label','min','max'],
2877
2867
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2901,7 +2891,7 @@ return (_ctx, _cache) => {
2901
2891
  onChange: modelValueUpdated,
2902
2892
  onKeydown: modelValueUpdated,
2903
2893
  onUpdated: modelValueUpdated
2904
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$e)), [
2894
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1$f)), [
2905
2895
  [vue.vModelText, inputModel.value]
2906
2896
  ])
2907
2897
  }
@@ -2909,9 +2899,9 @@ return (_ctx, _cache) => {
2909
2899
 
2910
2900
  };
2911
2901
 
2912
- script$i.__file = "src/lib/components/form-components/NumberInput.vue";
2902
+ script$j.__file = "src/lib/components/form-components/NumberInput.vue";
2913
2903
 
2914
- var script$h = {
2904
+ var script$i = {
2915
2905
  __name: 'TextInput',
2916
2906
  props: ['modelValue','label'],
2917
2907
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2947,9 +2937,9 @@ return (_ctx, _cache) => {
2947
2937
 
2948
2938
  };
2949
2939
 
2950
- script$h.__file = "src/lib/components/form-components/TextInput.vue";
2940
+ script$i.__file = "src/lib/components/form-components/TextInput.vue";
2951
2941
 
2952
- var script$g = {
2942
+ var script$h = {
2953
2943
  __name: 'TextAreaInput',
2954
2944
  props: ['modelValue','label'],
2955
2945
  emits: ['update:modelValue','clearValidationErrors'],
@@ -2985,12 +2975,12 @@ return (_ctx, _cache) => {
2985
2975
 
2986
2976
  };
2987
2977
 
2988
- script$g.__file = "src/lib/components/form-components/TextAreaInput.vue";
2978
+ script$h.__file = "src/lib/components/form-components/TextAreaInput.vue";
2989
2979
 
2990
- const _hoisted_1$d = ["value"];
2980
+ const _hoisted_1$e = ["value"];
2991
2981
 
2992
2982
 
2993
- var script$f = {
2983
+ var script$g = {
2994
2984
  __name: 'SelectInput',
2995
2985
  props: ['modelValue','label','data','dataUrl'],
2996
2986
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3041,7 +3031,7 @@ return (_ctx, _cache) => {
3041
3031
  return (vue.openBlock(), vue.createElementBlock("option", {
3042
3032
  key: option.id,
3043
3033
  value: option.id
3044
- }, vue.toDisplayString(option.name), 9 /* TEXT, PROPS */, _hoisted_1$d))
3034
+ }, vue.toDisplayString(option.name), 9 /* TEXT, PROPS */, _hoisted_1$e))
3045
3035
  }), 128 /* KEYED_FRAGMENT */))
3046
3036
  ], 544 /* HYDRATE_EVENTS, NEED_PATCH */)), [
3047
3037
  [vue.vModelSelect, inputModel.value]
@@ -3051,9 +3041,9 @@ return (_ctx, _cache) => {
3051
3041
 
3052
3042
  };
3053
3043
 
3054
- script$f.__file = "src/lib/components/form-components/SelectInput.vue";
3044
+ script$g.__file = "src/lib/components/form-components/SelectInput.vue";
3055
3045
 
3056
- var script$e = {
3046
+ var script$f = {
3057
3047
  __name: 'PasswordInput',
3058
3048
  props: ['modelValue','label'],
3059
3049
  emits: ['update:modelValue','clearValidationErrors'],
@@ -3089,23 +3079,23 @@ return (_ctx, _cache) => {
3089
3079
 
3090
3080
  };
3091
3081
 
3092
- script$e.__file = "src/lib/components/form-components/PasswordInput.vue";
3082
+ script$f.__file = "src/lib/components/form-components/PasswordInput.vue";
3093
3083
 
3094
- const _hoisted_1$c = /*#__PURE__*/vue.createElementVNode("div", null, null, -1 /* HOISTED */);
3095
- const _hoisted_2$9 = ["innerHTML"];
3096
- const _hoisted_3$8 = ["innerHTML"];
3097
- const _hoisted_4$8 = ["innerHTML"];
3098
- const _hoisted_5$6 = ["disabled"];
3099
- const _hoisted_6$5 = {
3084
+ const _hoisted_1$d = /*#__PURE__*/vue.createElementVNode("div", null, null, -1 /* HOISTED */);
3085
+ const _hoisted_2$a = ["innerHTML"];
3086
+ const _hoisted_3$9 = ["innerHTML"];
3087
+ const _hoisted_4$9 = ["innerHTML"];
3088
+ const _hoisted_5$7 = ["disabled"];
3089
+ const _hoisted_6$6 = {
3100
3090
  key: 0,
3101
3091
  class: "spinner-border spinner-border-sm",
3102
3092
  role: "status",
3103
3093
  "aria-hidden": "true"
3104
3094
  };
3105
- const _hoisted_7$3 = { key: 1 };
3095
+ const _hoisted_7$4 = { key: 1 };
3106
3096
 
3107
3097
 
3108
- var script$d = {
3098
+ var script$e = {
3109
3099
  __name: 'ShAutoForm',
3110
3100
  props: [
3111
3101
  'action','successCallback','retainDataAfterSubmission',
@@ -3133,13 +3123,13 @@ const getFieldComponent = (fieldObj)=>{
3133
3123
  const defaultPhones = ['phone'];
3134
3124
  const defaultEmails = ['email'];
3135
3125
  const formComponents = vue.inject('formComponents');
3136
- const TextComponent = formComponents.text ?? script$h;
3137
- const TextAreaComponent = formComponents.textArea ?? script$g;
3138
- const EmailComponent = formComponents.email ?? script$j;
3139
- const PhoneComponent = formComponents.phone ?? script$n;
3140
- const NumberComponent = formComponents.number ?? script$i;
3141
- const SelectComponent = formComponents.select ?? script$f;
3142
- const PasswordComponent = formComponents.password ?? script$e;
3126
+ const TextComponent = formComponents.text ?? script$i;
3127
+ const TextAreaComponent = formComponents.textArea ?? script$h;
3128
+ const EmailComponent = formComponents.email ?? script$k;
3129
+ const PhoneComponent = formComponents.phone ?? script$o;
3130
+ const NumberComponent = formComponents.number ?? script$j;
3131
+ const SelectComponent = formComponents.select ?? script$g;
3132
+ const PasswordComponent = formComponents.password ?? script$f;
3143
3133
  if(props.customComponents && props.customComponents[field]) {
3144
3134
  return props.customComponents[field]
3145
3135
  }
@@ -3151,16 +3141,16 @@ const getFieldComponent = (fieldObj)=>{
3151
3141
  }
3152
3142
  else
3153
3143
  if((props.textAreas && props.textAreas.includes(field)) || defaultTextareas.includes(field)){
3154
- return formComponents.textArea ?? script$g
3144
+ return formComponents.textArea ?? script$h
3155
3145
  } else
3156
3146
  if((props.emails && props.emails.includes(field)) || defaultEmails.includes(field)){
3157
- return formComponents.email ?? script$j
3147
+ return formComponents.email ?? script$k
3158
3148
  } else
3159
3149
  if((props.phones && props.phones.includes(field)) || defaultPhones.includes(field)){
3160
- return formComponents.phone ?? script$n
3150
+ return formComponents.phone ?? script$o
3161
3151
  } else
3162
3152
  if((props.numbers && props.numbers.includes(field)) || defaultNumbers.includes(field)){
3163
- return formComponents.number ?? script$i
3153
+ return formComponents.number ?? script$j
3164
3154
  }
3165
3155
  // else
3166
3156
  // if((props.selects && props.selects.includes(field)) || defaultSelects.includes(field)){
@@ -3169,7 +3159,7 @@ const getFieldComponent = (fieldObj)=>{
3169
3159
  // if((props.dates && props.dates.includes(field)) || defaultDates.includes(field)){
3170
3160
  // return formComponents.date ?? DateInput
3171
3161
  // }
3172
- return formComponents.text ?? script$h
3162
+ return formComponents.text ?? script$i
3173
3163
  };
3174
3164
  const shFormElementClasses = vue.ref(null);
3175
3165
  shFormElementClasses.value = vue.inject('shFormElementClasses');
@@ -3253,7 +3243,7 @@ vue.onMounted((ev)=>{
3253
3243
 
3254
3244
  return (_ctx, _cache) => {
3255
3245
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3256
- _hoisted_1$c,
3246
+ _hoisted_1$d,
3257
3247
  vue.createElementVNode("form", {
3258
3248
  ref_key: "shAutoForm",
3259
3249
  ref: shAutoForm,
@@ -3270,7 +3260,7 @@ return (_ctx, _cache) => {
3270
3260
  key: 0,
3271
3261
  class: vue.normalizeClass(getElementClass('formLabel')),
3272
3262
  innerHTML: field.label
3273
- }, null, 10 /* CLASS, PROPS */, _hoisted_2$9))
3263
+ }, null, 10 /* CLASS, PROPS */, _hoisted_2$a))
3274
3264
  : vue.createCommentVNode("v-if", true),
3275
3265
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getFieldComponent(field)), vue.mergeProps(getComponentProps(field), {
3276
3266
  onClick: $event => (removeValidationError(field.field)),
@@ -3284,14 +3274,14 @@ return (_ctx, _cache) => {
3284
3274
  key: 1,
3285
3275
  class: vue.normalizeClass(getElementClass('formLabel')),
3286
3276
  innerHTML: field.label
3287
- }, null, 10 /* CLASS, PROPS */, _hoisted_3$8))
3277
+ }, null, 10 /* CLASS, PROPS */, _hoisted_3$9))
3288
3278
  : vue.createCommentVNode("v-if", true),
3289
3279
  (field.helper)
3290
3280
  ? (vue.openBlock(), vue.createElementBlock("div", {
3291
3281
  key: 2,
3292
3282
  class: vue.normalizeClass(getElementClass('helperText')),
3293
3283
  innerHTML: field.helper
3294
- }, null, 10 /* CLASS, PROPS */, _hoisted_4$8))
3284
+ }, null, 10 /* CLASS, PROPS */, _hoisted_4$9))
3295
3285
  : vue.createCommentVNode("v-if", true),
3296
3286
  (validationErrors.value[field.field])
3297
3287
  ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -3312,12 +3302,12 @@ return (_ctx, _cache) => {
3312
3302
  class: vue.normalizeClass(getElementClass('actionBtn'))
3313
3303
  }, [
3314
3304
  (loading.value)
3315
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$5))
3305
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6))
3316
3306
  : vue.createCommentVNode("v-if", true),
3317
3307
  (!loading.value)
3318
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$3, "Submit"))
3308
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$4, "Submit"))
3319
3309
  : vue.createCommentVNode("v-if", true)
3320
- ], 14 /* CLASS, STYLE, PROPS */, _hoisted_5$6)
3310
+ ], 14 /* CLASS, STYLE, PROPS */, _hoisted_5$7)
3321
3311
  ], 2 /* CLASS */)
3322
3312
  ], 544 /* HYDRATE_EVENTS, NEED_PATCH */)
3323
3313
  ], 64 /* STABLE_FRAGMENT */))
@@ -3326,12 +3316,12 @@ return (_ctx, _cache) => {
3326
3316
 
3327
3317
  };
3328
3318
 
3329
- script$d.__file = "src/lib/components/ShAutoForm.vue";
3319
+ script$e.__file = "src/lib/components/ShAutoForm.vue";
3330
3320
 
3331
- const _hoisted_1$b = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3332
- const _hoisted_2$8 = { class: "dropdown" };
3321
+ const _hoisted_1$c = /*#__PURE__*/vue.createElementVNode("h5", { class: "d-none" }, "To prevent default class", -1 /* HOISTED */);
3322
+ const _hoisted_2$9 = { class: "dropdown" };
3333
3323
 
3334
- var script$c = {
3324
+ var script$d = {
3335
3325
  __name: 'ShDropDownForm',
3336
3326
  props: ['action',
3337
3327
  'classes',
@@ -3361,8 +3351,8 @@ const dropdownId = 'rand' + (Math.random() + 1).toString(36).substring(2);
3361
3351
 
3362
3352
  return (_ctx, _cache) => {
3363
3353
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3364
- _hoisted_1$b,
3365
- vue.createElementVNode("div", _hoisted_2$8, [
3354
+ _hoisted_1$c,
3355
+ vue.createElementVNode("div", _hoisted_2$9, [
3366
3356
  vue.createElementVNode("a", {
3367
3357
  class: vue.normalizeClass(vue.unref(btnClass)),
3368
3358
  href: "#",
@@ -3378,7 +3368,7 @@ return (_ctx, _cache) => {
3378
3368
  class: "dropdown-menu px-2 py-1",
3379
3369
  "aria-labelledby": dropdownId
3380
3370
  }, [
3381
- vue.createVNode(script$k, vue.normalizeProps(vue.guardReactiveProps(props)), null, 16 /* FULL_PROPS */)
3371
+ vue.createVNode(script$l, vue.normalizeProps(vue.guardReactiveProps(props)), null, 16 /* FULL_PROPS */)
3382
3372
  ])
3383
3373
  ])
3384
3374
  ], 64 /* STABLE_FRAGMENT */))
@@ -3387,26 +3377,26 @@ return (_ctx, _cache) => {
3387
3377
 
3388
3378
  };
3389
3379
 
3390
- script$c.__file = "src/lib/components/ShDropDownForm.vue";
3380
+ script$d.__file = "src/lib/components/ShDropDownForm.vue";
3391
3381
 
3392
- var script$b = {
3382
+ var script$c = {
3393
3383
  name: 'ShModal',
3394
3384
  props: ['modalTitle', 'modalId', 'modalSize'],
3395
3385
  components: {
3396
3386
  }
3397
3387
  };
3398
3388
 
3399
- const _hoisted_1$a = ["id"];
3400
- const _hoisted_2$7 = { class: "modal-content" };
3401
- const _hoisted_3$7 = { class: "modal-header" };
3402
- const _hoisted_4$7 = { class: "modal-title" };
3403
- const _hoisted_5$5 = /*#__PURE__*/vue.createElementVNode("button", {
3389
+ const _hoisted_1$b = ["id"];
3390
+ const _hoisted_2$8 = { class: "modal-content" };
3391
+ const _hoisted_3$8 = { class: "modal-header" };
3392
+ const _hoisted_4$8 = { class: "modal-title" };
3393
+ const _hoisted_5$6 = /*#__PURE__*/vue.createElementVNode("button", {
3404
3394
  class: "btn btn-danger btn-sm",
3405
3395
  "data-bs-dismiss": "modal",
3406
3396
  "data-dismiss": "modal"
3407
3397
  }, "×", -1 /* HOISTED */);
3408
- const _hoisted_6$4 = { class: "modal-body" };
3409
- const _hoisted_7$2 = { class: "section" };
3398
+ const _hoisted_6$5 = { class: "modal-body" };
3399
+ const _hoisted_7$3 = { class: "section" };
3410
3400
 
3411
3401
  function render$4(_ctx, _cache, $props, $setup, $data, $options) {
3412
3402
  return (vue.openBlock(), vue.createElementBlock("div", {
@@ -3417,27 +3407,27 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
3417
3407
  vue.createElementVNode("div", {
3418
3408
  class: vue.normalizeClass(["modal-dialog", `modal-${$props.modalSize}`])
3419
3409
  }, [
3420
- vue.createElementVNode("div", _hoisted_2$7, [
3421
- vue.createElementVNode("div", _hoisted_3$7, [
3422
- vue.createElementVNode("h3", _hoisted_4$7, vue.toDisplayString($props.modalTitle), 1 /* TEXT */),
3423
- _hoisted_5$5
3410
+ vue.createElementVNode("div", _hoisted_2$8, [
3411
+ vue.createElementVNode("div", _hoisted_3$8, [
3412
+ vue.createElementVNode("h3", _hoisted_4$8, vue.toDisplayString($props.modalTitle), 1 /* TEXT */),
3413
+ _hoisted_5$6
3424
3414
  ]),
3425
- vue.createElementVNode("div", _hoisted_6$4, [
3426
- vue.createElementVNode("div", _hoisted_7$2, [
3415
+ vue.createElementVNode("div", _hoisted_6$5, [
3416
+ vue.createElementVNode("div", _hoisted_7$3, [
3427
3417
  vue.renderSlot(_ctx.$slots, "default")
3428
3418
  ])
3429
3419
  ])
3430
3420
  ])
3431
3421
  ], 2 /* CLASS */)
3432
- ], 8 /* PROPS */, _hoisted_1$a))
3422
+ ], 8 /* PROPS */, _hoisted_1$b))
3433
3423
  }
3434
3424
 
3435
- script$b.render = render$4;
3436
- script$b.__file = "src/lib/components/ShModal.vue";
3425
+ script$c.render = render$4;
3426
+ script$c.__file = "src/lib/components/ShModal.vue";
3437
3427
 
3438
- const _hoisted_1$9 = ["href"];
3428
+ const _hoisted_1$a = ["href"];
3439
3429
 
3440
- var script$a = {
3430
+ var script$b = {
3441
3431
  __name: 'ShModalForm',
3442
3432
  props: ['action',
3443
3433
  'classes',
@@ -3476,13 +3466,13 @@ return (_ctx, _cache) => {
3476
3466
  "data-bs-toggle": "modal"
3477
3467
  }, [
3478
3468
  vue.renderSlot(_ctx.$slots, "default")
3479
- ], 10 /* CLASS, PROPS */, _hoisted_1$9),
3480
- vue.createVNode(script$b, {
3469
+ ], 10 /* CLASS, PROPS */, _hoisted_1$a),
3470
+ vue.createVNode(script$c, {
3481
3471
  "modal-id": modalId,
3482
3472
  "modal-title": __props.modalTitle
3483
3473
  }, {
3484
3474
  default: vue.withCtx(() => [
3485
- vue.createVNode(script$k, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3475
+ vue.createVNode(script$l, vue.mergeProps({ onSuccess: success }, props), null, 16 /* FULL_PROPS */)
3486
3476
  ]),
3487
3477
  _: 1 /* STABLE */
3488
3478
  }, 8 /* PROPS */, ["modal-title"])
@@ -3492,9 +3482,9 @@ return (_ctx, _cache) => {
3492
3482
 
3493
3483
  };
3494
3484
 
3495
- script$a.__file = "src/lib/components/ShModalForm.vue";
3485
+ script$b.__file = "src/lib/components/ShModalForm.vue";
3496
3486
 
3497
- var script$9 = {
3487
+ var script$a = {
3498
3488
  name: 'ShCanvas',
3499
3489
  props: ['canvasTitle', 'canvasId', 'position','canvasSize'],
3500
3490
  components: {
@@ -3511,13 +3501,13 @@ var script$9 = {
3511
3501
  }
3512
3502
  };
3513
3503
 
3514
- const _hoisted_1$8 = ["id"];
3515
- const _hoisted_2$6 = { class: "offcanvas-header" };
3516
- const _hoisted_3$6 = {
3504
+ const _hoisted_1$9 = ["id"];
3505
+ const _hoisted_2$7 = { class: "offcanvas-header" };
3506
+ const _hoisted_3$7 = {
3517
3507
  class: "offcanvas-title",
3518
3508
  id: "offcanvasScrollingLabel"
3519
3509
  };
3520
- const _hoisted_4$6 = { class: "offcanvas-body" };
3510
+ const _hoisted_4$7 = { class: "offcanvas-body" };
3521
3511
 
3522
3512
  function render$3(_ctx, _cache, $props, $setup, $data, $options) {
3523
3513
  return (vue.openBlock(), vue.createElementBlock("div", {
@@ -3527,8 +3517,8 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
3527
3517
  id: $props.canvasId,
3528
3518
  "aria-labelledby": "offcanvasScrollingLabel"
3529
3519
  }, [
3530
- vue.createElementVNode("div", _hoisted_2$6, [
3531
- vue.createElementVNode("h5", _hoisted_3$6, vue.toDisplayString($props.canvasTitle), 1 /* TEXT */),
3520
+ vue.createElementVNode("div", _hoisted_2$7, [
3521
+ vue.createElementVNode("h5", _hoisted_3$7, vue.toDisplayString($props.canvasTitle), 1 /* TEXT */),
3532
3522
  vue.createElementVNode("button", {
3533
3523
  type: "button",
3534
3524
  ref: "closecanvas",
@@ -3538,16 +3528,16 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
3538
3528
  "aria-label": "Close"
3539
3529
  }, null, 512 /* NEED_PATCH */)
3540
3530
  ]),
3541
- vue.createElementVNode("div", _hoisted_4$6, [
3531
+ vue.createElementVNode("div", _hoisted_4$7, [
3542
3532
  vue.renderSlot(_ctx.$slots, "default")
3543
3533
  ])
3544
- ], 10 /* CLASS, PROPS */, _hoisted_1$8))
3534
+ ], 10 /* CLASS, PROPS */, _hoisted_1$9))
3545
3535
  }
3546
3536
 
3547
- script$9.render = render$3;
3548
- script$9.__file = "src/lib/components/ShCanvas.vue";
3537
+ script$a.render = render$3;
3538
+ script$a.__file = "src/lib/components/ShCanvas.vue";
3549
3539
 
3550
- var script$8 = {
3540
+ var script$9 = {
3551
3541
  name: 'Pagination',
3552
3542
  props: ['pagination_data', 'loadMore', 'hideCount', 'hideLoadMore'],
3553
3543
  data () {
@@ -3618,14 +3608,14 @@ var script$8 = {
3618
3608
  }
3619
3609
  };
3620
3610
 
3621
- const _hoisted_1$7 = { key: 0 };
3622
- const _hoisted_2$5 = { class: "record_count_body mb-3" };
3623
- const _hoisted_3$5 = /*#__PURE__*/vue.createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
3624
- const _hoisted_4$5 = /*#__PURE__*/vue.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);
3625
- const _hoisted_9$2 = [
3626
- _hoisted_4$5
3611
+ const _hoisted_1$8 = { key: 0 };
3612
+ const _hoisted_2$6 = { class: "record_count_body mb-3" };
3613
+ const _hoisted_3$6 = /*#__PURE__*/vue.createElementVNode("span", { class: "per_page_show" }, "Showing", -1 /* HOISTED */);
3614
+ const _hoisted_4$6 = /*#__PURE__*/vue.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);
3615
+ const _hoisted_9$3 = [
3616
+ _hoisted_4$6
3627
3617
  ];
3628
- const _hoisted_10$1 = { class: "record_counts" };
3618
+ const _hoisted_10$2 = { class: "record_counts" };
3629
3619
  const _hoisted_11$1 = {
3630
3620
  key: 0,
3631
3621
  "aria-label": "Page navigation"
@@ -3664,18 +3654,18 @@ const _hoisted_22$1 = {
3664
3654
 
3665
3655
  function render$2(_ctx, _cache, $props, $setup, $data, $options) {
3666
3656
  return (!$props.loadMore)
3667
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
3668
- vue.createElementVNode("div", _hoisted_2$5, [
3669
- _hoisted_3$5,
3657
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
3658
+ vue.createElementVNode("div", _hoisted_2$6, [
3659
+ _hoisted_3$6,
3670
3660
  vue.createTextVNode("  "),
3671
3661
  vue.withDirectives(vue.createElementVNode("select", {
3672
3662
  class: "select_per_page",
3673
3663
  onChange: _cache[0] || (_cache[0] = (...args) => ($options.changePerPage && $options.changePerPage(...args))),
3674
3664
  "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => (($data.per_page) = $event))
3675
- }, _hoisted_9$2, 544 /* HYDRATE_EVENTS, NEED_PATCH */), [
3665
+ }, _hoisted_9$3, 544 /* HYDRATE_EVENTS, NEED_PATCH */), [
3676
3666
  [vue.vModelSelect, $data.per_page]
3677
3667
  ]),
3678
- vue.createElementVNode("span", _hoisted_10$1, " of " + vue.toDisplayString($props.pagination_data.record_count) + " items", 1 /* TEXT */)
3668
+ vue.createElementVNode("span", _hoisted_10$2, " of " + vue.toDisplayString($props.pagination_data.record_count) + " items", 1 /* TEXT */)
3679
3669
  ]),
3680
3670
  ($props.pagination_data != null)
3681
3671
  ? (vue.openBlock(), vue.createElementBlock("nav", _hoisted_11$1, [
@@ -3736,17 +3726,17 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
3736
3726
  ]))
3737
3727
  }
3738
3728
 
3739
- script$8.render = render$2;
3740
- script$8.__file = "src/lib/components/list_templates/Pagination.vue";
3729
+ script$9.render = render$2;
3730
+ script$9.__file = "src/lib/components/list_templates/Pagination.vue";
3741
3731
 
3742
- const _hoisted_1$6 = /*#__PURE__*/vue.createElementVNode("span", {
3732
+ const _hoisted_1$7 = /*#__PURE__*/vue.createElementVNode("span", {
3743
3733
  class: "spinner-border spinner-border-sm me-1",
3744
3734
  role: "status",
3745
3735
  "aria-hidden": "true"
3746
3736
  }, null, -1 /* HOISTED */);
3747
3737
 
3748
3738
 
3749
- var script$7 = {
3739
+ var script$8 = {
3750
3740
  __name: 'ShConfirmAction',
3751
3741
  props: {
3752
3742
  data: Object,
@@ -3819,7 +3809,7 @@ return (_ctx, _cache) => {
3819
3809
  }, [
3820
3810
  (processing.value)
3821
3811
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
3822
- _hoisted_1$6,
3812
+ _hoisted_1$7,
3823
3813
  vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
3824
3814
  ], 64 /* STABLE_FRAGMENT */))
3825
3815
  : vue.createCommentVNode("v-if", true),
@@ -3832,15 +3822,15 @@ return (_ctx, _cache) => {
3832
3822
 
3833
3823
  };
3834
3824
 
3835
- script$7.__file = "src/lib/components/ShConfirmAction.vue";
3825
+ script$8.__file = "src/lib/components/ShConfirmAction.vue";
3836
3826
 
3837
- const _hoisted_1$5 = /*#__PURE__*/vue.createElementVNode("span", {
3827
+ const _hoisted_1$6 = /*#__PURE__*/vue.createElementVNode("span", {
3838
3828
  class: "spinner-border spinner-border-sm me-1",
3839
3829
  role: "status",
3840
3830
  "aria-hidden": "true"
3841
3831
  }, null, -1 /* HOISTED */);
3842
3832
 
3843
- var script$6 = {
3833
+ var script$7 = {
3844
3834
  __name: 'ShSilentAction',
3845
3835
  props: {
3846
3836
  data: Object,
@@ -3915,7 +3905,7 @@ return (_ctx, _cache) => {
3915
3905
  }, [
3916
3906
  (processing.value)
3917
3907
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
3918
- _hoisted_1$5,
3908
+ _hoisted_1$6,
3919
3909
  vue.createElementVNode("span", null, vue.toDisplayString(__props.loadingMessage), 1 /* TEXT */)
3920
3910
  ], 64 /* STABLE_FRAGMENT */))
3921
3911
  : vue.createCommentVNode("v-if", true),
@@ -3928,9 +3918,9 @@ return (_ctx, _cache) => {
3928
3918
 
3929
3919
  };
3930
3920
 
3931
- script$6.__file = "src/lib/components/ShSilentAction.vue";
3921
+ script$7.__file = "src/lib/components/ShSilentAction.vue";
3932
3922
 
3933
- var script$5 = {
3923
+ var script$6 = {
3934
3924
  name: 'sh-table',
3935
3925
  props: ['endPoint', 'headers', 'pageCount', 'actions', 'hideCount', 'hideLoadMore', 'links', 'reload', 'hideSearch', 'sharedData', 'searchPlaceholder', 'event', 'displayMore', 'displayMoreBtnClass', 'moreDetailsColumns', 'moreDetailsFields', 'hasDownload', 'downloadFields', 'tableHover', 'hideIds'],
3936
3926
  inject: ['channel'],
@@ -4162,10 +4152,10 @@ var script$5 = {
4162
4152
  this.reloadData();
4163
4153
  },
4164
4154
  components: {
4165
- ShSilentAction: script$6,
4166
- ShConfirmAction: script$7,
4167
- ShCanvas: script$9,
4168
- pagination: script$8
4155
+ ShSilentAction: script$7,
4156
+ ShConfirmAction: script$8,
4157
+ ShCanvas: script$a,
4158
+ pagination: script$9
4169
4159
  },
4170
4160
  computed: {
4171
4161
  windowWidth: function () {
@@ -4183,26 +4173,26 @@ var script$5 = {
4183
4173
  }
4184
4174
  };
4185
4175
 
4186
- const _hoisted_1$4 = { class: "auto-table mt-2" };
4187
- const _hoisted_2$4 = {
4176
+ const _hoisted_1$5 = { class: "auto-table mt-2" };
4177
+ const _hoisted_2$5 = {
4188
4178
  key: 0,
4189
4179
  class: "col-md-4 mb-2"
4190
4180
  };
4191
- const _hoisted_3$4 = ["disabled"];
4192
- const _hoisted_4$4 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
4193
- const _hoisted_5$4 = /*#__PURE__*/vue.createElementVNode("span", {
4181
+ const _hoisted_3$5 = ["disabled"];
4182
+ const _hoisted_4$5 = /*#__PURE__*/vue.createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
4183
+ const _hoisted_5$5 = /*#__PURE__*/vue.createElementVNode("span", {
4194
4184
  class: "spinner-border spinner-border-sm",
4195
4185
  role: "status",
4196
4186
  "aria-hidden": "true"
4197
4187
  }, null, -1 /* HOISTED */);
4198
- const _hoisted_6$3 = /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
4199
- const _hoisted_7$1 = {
4188
+ const _hoisted_6$4 = /*#__PURE__*/vue.createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
4189
+ const _hoisted_7$2 = {
4200
4190
  key: 1,
4201
4191
  class: "row"
4202
4192
  };
4203
- const _hoisted_8$1 = { class: "col-12 mb-3" };
4204
- const _hoisted_9$1 = { class: "sh-search-bar" };
4205
- const _hoisted_10 = ["placeholder"];
4193
+ const _hoisted_8$2 = { class: "col-12 mb-3" };
4194
+ const _hoisted_9$2 = { class: "sh-search-bar" };
4195
+ const _hoisted_10$1 = ["placeholder"];
4206
4196
  const _hoisted_11 = {
4207
4197
  key: 0,
4208
4198
  class: "text-center"
@@ -4330,13 +4320,14 @@ const _hoisted_57 = {
4330
4320
  key: 2,
4331
4321
  class: "text-primary fw-bold"
4332
4322
  };
4333
- const _hoisted_58 = ["innerHTML"];
4323
+ const _hoisted_58 = { key: 3 };
4334
4324
  const _hoisted_59 = ["innerHTML"];
4335
4325
  const _hoisted_60 = ["innerHTML"];
4336
- const _hoisted_61 = /*#__PURE__*/vue.createElementVNode("hr", { class: "my-2" }, null, -1 /* HOISTED */);
4337
- const _hoisted_62 = { key: 0 };
4338
- const _hoisted_63 = ["href"];
4339
- const _hoisted_64 = ["title", "onClick"];
4326
+ const _hoisted_61 = ["innerHTML"];
4327
+ const _hoisted_62 = /*#__PURE__*/vue.createElementVNode("hr", { class: "my-2" }, null, -1 /* HOISTED */);
4328
+ const _hoisted_63 = { key: 0 };
4329
+ const _hoisted_64 = ["href"];
4330
+ const _hoisted_65 = ["title", "onClick"];
4340
4331
 
4341
4332
  function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4342
4333
  const _component_router_link = vue.resolveComponent("router-link");
@@ -4345,9 +4336,9 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4345
4336
  const _component_pagination = vue.resolveComponent("pagination");
4346
4337
  const _component_sh_canvas = vue.resolveComponent("sh-canvas");
4347
4338
 
4348
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
4339
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
4349
4340
  ($props.hasDownload)
4350
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$4, [
4341
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$5, [
4351
4342
  vue.createElementVNode("button", {
4352
4343
  disabled: $data.downloading,
4353
4344
  class: "btn btn-warning btn-sm",
@@ -4355,27 +4346,27 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4355
4346
  }, [
4356
4347
  (!$data.downloading)
4357
4348
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4358
- _hoisted_4$4,
4349
+ _hoisted_4$5,
4359
4350
  vue.createTextVNode(" Export ")
4360
4351
  ], 64 /* STABLE_FRAGMENT */))
4361
4352
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
4362
- _hoisted_5$4,
4363
- _hoisted_6$3
4353
+ _hoisted_5$5,
4354
+ _hoisted_6$4
4364
4355
  ], 64 /* STABLE_FRAGMENT */))
4365
- ], 8 /* PROPS */, _hoisted_3$4)
4356
+ ], 8 /* PROPS */, _hoisted_3$5)
4366
4357
  ]))
4367
4358
  : vue.createCommentVNode("v-if", true),
4368
4359
  (!$props.hideSearch)
4369
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$1, [
4370
- vue.createElementVNode("div", _hoisted_8$1, [
4371
- vue.createElementVNode("div", _hoisted_9$1, [
4360
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, [
4361
+ vue.createElementVNode("div", _hoisted_8$2, [
4362
+ vue.createElementVNode("div", _hoisted_9$2, [
4372
4363
  vue.withDirectives(vue.createElementVNode("input", {
4373
4364
  type: "search",
4374
4365
  onChange: _cache[1] || (_cache[1] = $event => ($options.reloadData(1))),
4375
4366
  "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => (($data.filter_value) = $event)),
4376
4367
  placeholder: $props.searchPlaceholder ? $props.searchPlaceholder : 'Search',
4377
4368
  class: "form-control sh-search-input"
4378
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_10), [
4369
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_10$1), [
4379
4370
  [vue.vModelText, $data.filter_value]
4380
4371
  ])
4381
4372
  ])
@@ -4663,26 +4654,28 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4663
4654
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_56, vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4664
4655
  : ($options.getFieldType(key) === 'money')
4665
4656
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_57, "KES " + vue.toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4666
- : (typeof key === 'string')
4667
- ? (vue.openBlock(), vue.createElementBlock("span", {
4668
- key: 3,
4669
- innerHTML: record[key]
4670
- }, null, 8 /* PROPS */, _hoisted_58))
4671
- : (typeof key === 'function')
4657
+ : ($options.getFieldType(key) === 'date')
4658
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_58, vue.toDisplayString($options.formatDate(record[key])), 1 /* TEXT */))
4659
+ : (typeof key === 'string')
4672
4660
  ? (vue.openBlock(), vue.createElementBlock("span", {
4673
4661
  key: 4,
4674
- innerHTML: key(record, index )
4662
+ innerHTML: record[key]
4675
4663
  }, null, 8 /* PROPS */, _hoisted_59))
4676
- : (vue.openBlock(), vue.createElementBlock("span", {
4677
- key: 5,
4678
- innerHTML: record[key[0]]
4679
- }, null, 8 /* PROPS */, _hoisted_60))
4664
+ : (typeof key === 'function')
4665
+ ? (vue.openBlock(), vue.createElementBlock("span", {
4666
+ key: 5,
4667
+ innerHTML: key(record, index )
4668
+ }, null, 8 /* PROPS */, _hoisted_60))
4669
+ : (vue.openBlock(), vue.createElementBlock("span", {
4670
+ key: 6,
4671
+ innerHTML: record[key[0]]
4672
+ }, null, 8 /* PROPS */, _hoisted_61))
4680
4673
  ]),
4681
- _hoisted_61
4674
+ _hoisted_62
4682
4675
  ], 64 /* STABLE_FRAGMENT */))
4683
4676
  }), 128 /* KEYED_FRAGMENT */)),
4684
4677
  ($props.actions)
4685
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_62, [
4678
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_63, [
4686
4679
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.actions.actions, (act) => {
4687
4680
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
4688
4681
  key: act.path
@@ -4705,7 +4698,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4705
4698
  }, null, 2 /* CLASS */))
4706
4699
  : vue.createCommentVNode("v-if", true),
4707
4700
  vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4708
- ], 10 /* CLASS, PROPS */, _hoisted_63))
4701
+ ], 10 /* CLASS, PROPS */, _hoisted_64))
4709
4702
  : (act.emits)
4710
4703
  ? (vue.openBlock(), vue.createElementBlock("button", {
4711
4704
  key: 1,
@@ -4720,7 +4713,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4720
4713
  }, null, 2 /* CLASS */))
4721
4714
  : vue.createCommentVNode("v-if", true),
4722
4715
  vue.createTextVNode(" " + vue.toDisplayString(act.label), 1 /* TEXT */)
4723
- ], 10 /* CLASS, PROPS */, _hoisted_64))
4716
+ ], 10 /* CLASS, PROPS */, _hoisted_65))
4724
4717
  : (!act.emits)
4725
4718
  ? (vue.openBlock(), vue.createBlock(_component_router_link, {
4726
4719
  key: 2,
@@ -4795,10 +4788,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4795
4788
  ]))
4796
4789
  }
4797
4790
 
4798
- script$5.render = render$1;
4799
- script$5.__file = "src/lib/components/ShTable.vue";
4791
+ script$6.render = render$1;
4792
+ script$6.__file = "src/lib/components/ShTable.vue";
4800
4793
 
4801
- var script$4 = {
4794
+ var script$5 = {
4802
4795
  name: 'ShTabs',
4803
4796
  props: ['tabs', 'baseUrl', 'sharedData', 'tabCounts', 'responsive','classOne','classTwo','classes'],
4804
4797
  data () {
@@ -4919,23 +4912,23 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4919
4912
  ], 64 /* STABLE_FRAGMENT */))
4920
4913
  }
4921
4914
 
4922
- script$4.render = render;
4923
- script$4.__file = "src/lib/components/ShTabs.vue";
4915
+ script$5.render = render;
4916
+ script$5.__file = "src/lib/components/ShTabs.vue";
4924
4917
 
4925
- const _hoisted_1$3 = {
4918
+ const _hoisted_1$4 = {
4926
4919
  class: "nav nav-tabs",
4927
4920
  role: "tablist"
4928
4921
  };
4929
- const _hoisted_2$3 = {
4922
+ const _hoisted_2$4 = {
4930
4923
  class: "nav-item",
4931
4924
  role: "presentation"
4932
4925
  };
4933
- const _hoisted_3$3 = ["onClick"];
4934
- const _hoisted_4$3 = /*#__PURE__*/vue.createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
4935
- const _hoisted_5$3 = { class: "sh_tab_count" };
4936
- const _hoisted_6$2 = { class: "tab-content" };
4926
+ const _hoisted_3$4 = ["onClick"];
4927
+ const _hoisted_4$4 = /*#__PURE__*/vue.createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
4928
+ const _hoisted_5$4 = { class: "sh_tab_count" };
4929
+ const _hoisted_6$3 = { class: "tab-content" };
4937
4930
 
4938
- var script$3 = {
4931
+ var script$4 = {
4939
4932
  __name: 'ShDynamicTabs',
4940
4933
  props: ['tabs','data'],
4941
4934
  setup(__props) {
@@ -4960,9 +4953,9 @@ function setTab(tab){
4960
4953
 
4961
4954
  return (_ctx, _cache) => {
4962
4955
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
4963
- vue.createElementVNode("ul", _hoisted_1$3, [
4956
+ vue.createElementVNode("ul", _hoisted_1$4, [
4964
4957
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tabs), (tab) => {
4965
- return (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$3, [
4958
+ return (vue.openBlock(), vue.createElementBlock("li", _hoisted_2$4, [
4966
4959
  vue.createElementVNode("button", {
4967
4960
  onClick: $event => (setTab(tab)),
4968
4961
  class: vue.normalizeClass(["nav-link", vue.unref(currentTab) === tab ? 'active':''])
@@ -4970,15 +4963,15 @@ return (_ctx, _cache) => {
4970
4963
  vue.createTextVNode(vue.toDisplayString(tab.label) + " ", 1 /* TEXT */),
4971
4964
  (tab.count || tab.tabCount)
4972
4965
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4973
- _hoisted_4$3,
4974
- vue.createElementVNode("sup", _hoisted_5$3, vue.toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
4966
+ _hoisted_4$4,
4967
+ vue.createElementVNode("sup", _hoisted_5$4, vue.toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
4975
4968
  ], 64 /* STABLE_FRAGMENT */))
4976
4969
  : vue.createCommentVNode("v-if", true)
4977
- ], 10 /* CLASS, PROPS */, _hoisted_3$3)
4970
+ ], 10 /* CLASS, PROPS */, _hoisted_3$4)
4978
4971
  ]))
4979
4972
  }), 256 /* UNKEYED_FRAGMENT */))
4980
4973
  ]),
4981
- vue.createElementVNode("div", _hoisted_6$2, [
4974
+ vue.createElementVNode("div", _hoisted_6$3, [
4982
4975
  (vue.unref(currentTab))
4983
4976
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(currentTab).component), vue.normalizeProps(vue.mergeProps({ key: 0 }, vue.unref(currentTab))), null, 16 /* FULL_PROPS */))
4984
4977
  : vue.createCommentVNode("v-if", true)
@@ -4989,7 +4982,7 @@ return (_ctx, _cache) => {
4989
4982
 
4990
4983
  };
4991
4984
 
4992
- script$3.__file = "src/lib/components/ShDynamicTabs.vue";
4985
+ script$4.__file = "src/lib/components/ShDynamicTabs.vue";
4993
4986
 
4994
4987
  const useUserStore = pinia.defineStore('user-store', {
4995
4988
  state: () => ({
@@ -5087,19 +5080,19 @@ const useUserStore = pinia.defineStore('user-store', {
5087
5080
  }
5088
5081
  });
5089
5082
 
5090
- const _hoisted_1$2 = /*#__PURE__*/vue.createElementVNode("h5", null, "Departments", -1 /* HOISTED */);
5091
- const _hoisted_2$2 = { class: "card sh-departments-card shadow" };
5092
- const _hoisted_3$2 = { class: "card-body" };
5093
- const _hoisted_4$2 = {
5083
+ const _hoisted_1$3 = /*#__PURE__*/vue.createElementVNode("h5", null, "Departments", -1 /* HOISTED */);
5084
+ const _hoisted_2$3 = { class: "card sh-departments-card shadow" };
5085
+ const _hoisted_3$3 = { class: "card-body" };
5086
+ const _hoisted_4$3 = {
5094
5087
  "data-bs-toggle": "modal",
5095
5088
  ref: "addDeptBtn",
5096
5089
  href: "#sh-department_modal",
5097
5090
  class: "btn btn-info btn-sm"
5098
5091
  };
5099
- const _hoisted_5$2 = /*#__PURE__*/vue.createElementVNode("i", { class: "fa fa-plus" }, null, -1 /* HOISTED */);
5092
+ const _hoisted_5$3 = /*#__PURE__*/vue.createElementVNode("i", { class: "fa fa-plus" }, null, -1 /* HOISTED */);
5100
5093
 
5101
5094
 
5102
- var script$2 = {
5095
+ var script$3 = {
5103
5096
  __name: 'Departments',
5104
5097
  setup(__props) {
5105
5098
 
@@ -5122,14 +5115,14 @@ function departmentAdded (response) {
5122
5115
 
5123
5116
  return (_ctx, _cache) => {
5124
5117
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
5125
- _hoisted_1$2,
5126
- vue.createElementVNode("div", _hoisted_2$2, [
5127
- vue.createElementVNode("div", _hoisted_3$2, [
5128
- vue.createElementVNode("a", _hoisted_4$2, [
5129
- _hoisted_5$2,
5118
+ _hoisted_1$3,
5119
+ vue.createElementVNode("div", _hoisted_2$3, [
5120
+ vue.createElementVNode("div", _hoisted_3$3, [
5121
+ vue.createElementVNode("a", _hoisted_4$3, [
5122
+ _hoisted_5$3,
5130
5123
  vue.createTextVNode(" ADD DEPARTMENT")
5131
5124
  ], 512 /* NEED_PATCH */),
5132
- vue.createVNode(script$5, {
5125
+ vue.createVNode(script$6, {
5133
5126
  headers: ['id','name','description', 'created_at'],
5134
5127
  "end-point": "admin/departments/list",
5135
5128
  actions: {
@@ -5143,12 +5136,12 @@ return (_ctx, _cache) => {
5143
5136
  ]
5144
5137
  }
5145
5138
  }),
5146
- vue.createVNode(script$b, {
5139
+ vue.createVNode(script$c, {
5147
5140
  "modal-id": "sh-department_modal",
5148
5141
  "modal-title": "Department Form"
5149
5142
  }, {
5150
5143
  default: vue.withCtx(() => [
5151
- vue.createVNode(script$k, {
5144
+ vue.createVNode(script$l, {
5152
5145
  "success-callback": "departmentAdded",
5153
5146
  onDepartmentAdded: departmentAdded,
5154
5147
  action: "admin/departments/store",
@@ -5165,14 +5158,14 @@ return (_ctx, _cache) => {
5165
5158
 
5166
5159
  };
5167
5160
 
5168
- script$2.__file = "src/lib/components/core/Departments/Departments.vue";
5161
+ script$3.__file = "src/lib/components/core/Departments/Departments.vue";
5169
5162
 
5170
- const _hoisted_1$1 = {
5163
+ const _hoisted_1$2 = {
5171
5164
  key: 0,
5172
5165
  class: "card sh-department-view shadow"
5173
5166
  };
5174
- const _hoisted_2$1 = { class: "card-body" };
5175
- const _hoisted_3$1 = /*#__PURE__*/vue.createElementVNode("a", {
5167
+ const _hoisted_2$2 = { class: "card-body" };
5168
+ const _hoisted_3$2 = /*#__PURE__*/vue.createElementVNode("a", {
5176
5169
  href: "#addModule",
5177
5170
  class: "btn btn-info btn-sm",
5178
5171
  "data-bs-toggle": "modal"
@@ -5180,11 +5173,11 @@ const _hoisted_3$1 = /*#__PURE__*/vue.createElementVNode("a", {
5180
5173
  /*#__PURE__*/vue.createElementVNode("i", { class: "bi-plus" }),
5181
5174
  /*#__PURE__*/vue.createTextVNode(" ADD Module")
5182
5175
  ], -1 /* HOISTED */);
5183
- const _hoisted_4$1 = { class: "text-primary text-capitalize" };
5184
- const _hoisted_5$1 = ["value"];
5185
- const _hoisted_6$1 = /*#__PURE__*/vue.createElementVNode("i", { class: "fa fa-save" }, null, -1 /* HOISTED */);
5176
+ const _hoisted_4$2 = { class: "text-primary text-capitalize" };
5177
+ const _hoisted_5$2 = ["value"];
5178
+ const _hoisted_6$2 = /*#__PURE__*/vue.createElementVNode("i", { class: "fa fa-save" }, null, -1 /* HOISTED */);
5186
5179
 
5187
- var script$1 = {
5180
+ var script$2 = {
5188
5181
  __name: 'Department',
5189
5182
  setup(__props) {
5190
5183
 
@@ -5278,11 +5271,11 @@ function submitPermissions() {
5278
5271
 
5279
5272
  return (_ctx, _cache) => {
5280
5273
  return (vue.unref(department))
5281
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
5282
- vue.createElementVNode("div", _hoisted_2$1, [
5283
- _hoisted_3$1,
5274
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
5275
+ vue.createElementVNode("div", _hoisted_2$2, [
5276
+ _hoisted_3$2,
5284
5277
  vue.createElementVNode("h5", null, "Department #" + vue.toDisplayString(vue.unref(department).id) + " - " + vue.toDisplayString(vue.unref(department).name) + " Allowed Modules", 1 /* TEXT */),
5285
- vue.createVNode(script$5, {
5278
+ vue.createVNode(script$6, {
5286
5279
  actions: {
5287
5280
  label: 'Actions',
5288
5281
  actions: [
@@ -5302,12 +5295,12 @@ return (_ctx, _cache) => {
5302
5295
  headers: ['id',showModule,'created_at'],
5303
5296
  "end-point": 'admin/departments/department/list-modules/' + id.value
5304
5297
  }, null, 8 /* PROPS */, ["actions", "reload", "headers", "end-point"]),
5305
- vue.createVNode(script$b, {
5298
+ vue.createVNode(script$c, {
5306
5299
  "modal-id": "addModule",
5307
5300
  "modal-title": "Add Module Department"
5308
5301
  }, {
5309
5302
  default: vue.withCtx(() => [
5310
- vue.createVNode(script$k, {
5303
+ vue.createVNode(script$l, {
5311
5304
  "reload-select-items": vue.unref(reload),
5312
5305
  "success-callback": moduleAdded,
5313
5306
  "fill-selects": {
@@ -5329,7 +5322,7 @@ return (_ctx, _cache) => {
5329
5322
  ref: permissionCanvasBtn,
5330
5323
  "data-bs-toggle": "offcanvas"
5331
5324
  }, null, 512 /* NEED_PATCH */),
5332
- vue.createVNode(script$9, {
5325
+ vue.createVNode(script$a, {
5333
5326
  "canvas-id": "permissionsCanvas",
5334
5327
  position: "end enlarged",
5335
5328
  "canvas-title": "Module Permissions"
@@ -5337,7 +5330,7 @@ return (_ctx, _cache) => {
5337
5330
  default: vue.withCtx(() => [
5338
5331
  (vue.unref(getModule))
5339
5332
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5340
- vue.createElementVNode("h5", _hoisted_4$1, "Permissions for " + vue.toDisplayString(vue.unref(getModule).module), 1 /* TEXT */),
5333
+ vue.createElementVNode("h5", _hoisted_4$2, "Permissions for " + vue.toDisplayString(vue.unref(getModule).module), 1 /* TEXT */),
5341
5334
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(modulePermissions), (permission) => {
5342
5335
  return (vue.openBlock(), vue.createElementBlock("div", {
5343
5336
  key: permission,
@@ -5350,7 +5343,7 @@ return (_ctx, _cache) => {
5350
5343
  type: "checkbox",
5351
5344
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (vue.isRef(selectedPermissions) ? (selectedPermissions).value = $event : selectedPermissions = $event)),
5352
5345
  value: permission
5353
- }, null, 8 /* PROPS */, _hoisted_5$1), [
5346
+ }, null, 8 /* PROPS */, _hoisted_5$2), [
5354
5347
  [vue.vModelCheckbox, vue.unref(selectedPermissions)]
5355
5348
  ]),
5356
5349
  vue.createTextVNode(" " + vue.toDisplayString(getPermissionLabel(permission)), 1 /* TEXT */)
@@ -5361,7 +5354,7 @@ return (_ctx, _cache) => {
5361
5354
  onClick: submitPermissions,
5362
5355
  class: "btn btn-info"
5363
5356
  }, [
5364
- _hoisted_6$1,
5357
+ _hoisted_6$2,
5365
5358
  vue.createTextVNode(" Submit")
5366
5359
  ])
5367
5360
  ], 64 /* STABLE_FRAGMENT */))
@@ -5377,7 +5370,123 @@ return (_ctx, _cache) => {
5377
5370
 
5378
5371
  };
5379
5372
 
5380
- script$1.__file = "src/lib/components/core/Departments/department/Department.vue";
5373
+ script$2.__file = "src/lib/components/core/Departments/department/Department.vue";
5374
+
5375
+ const _hoisted_1$1 = { class: "row permissions-main d-flex" };
5376
+ const _hoisted_2$1 = {
5377
+ id: "permissions-nav",
5378
+ class: "col-md-2 shadow d-flex align-items-center"
5379
+ };
5380
+ const _hoisted_3$1 = /*#__PURE__*/vue.createElementVNode("input", { type: "checkbox" }, null, -1 /* HOISTED */);
5381
+ const _hoisted_4$1 = ["onClick"];
5382
+ const _hoisted_5$1 = {
5383
+ id: "permissions-content",
5384
+ class: "col-md-10"
5385
+ };
5386
+ const _hoisted_6$1 = {
5387
+ key: 0,
5388
+ class: "alert alert-info"
5389
+ };
5390
+ const _hoisted_7$1 = {
5391
+ key: 1,
5392
+ class: "d-flex justify-content-evenly"
5393
+ };
5394
+ const _hoisted_8$1 = { class: "col-md-3 list-group" };
5395
+ const _hoisted_9$1 = { class: "p-2 text-capitalize list-group-item pb-0 text-capitalize" };
5396
+ const _hoisted_10 = /*#__PURE__*/vue.createElementVNode("input", { type: "checkbox" }, null, -1 /* HOISTED */);
5397
+
5398
+ var script$1 = {
5399
+ __name: 'ManagePermissions',
5400
+ setup(__props) {
5401
+
5402
+ const route = vueRouter.useRoute();
5403
+ const tabs = vue.ref(null);
5404
+ vue.ref(0);
5405
+ const modules = vue.ref([]);
5406
+ const selectedModule = vue.ref('tasks');
5407
+ const modulePermissions = vue.ref(null);
5408
+ const setModule = module=>{
5409
+ selectedModule.value = module;
5410
+ getModulePermissions();
5411
+ };
5412
+ vue.onMounted(() => {
5413
+ console.log(tabs.value.querySelectorAll('li'));
5414
+ getDepartmentModules();
5415
+ });
5416
+ const getDepartmentModules = ()=>{
5417
+ shApis.doGet(`admin/departments/department/list-modules/${route.params.id}?all=1`).then(res=>{
5418
+ modules.value = res.data.data;
5419
+ selectedModule.value = res.data.data[0];
5420
+ getModulePermissions();
5421
+ });
5422
+ };
5423
+ const loading = vue.ref(false);
5424
+ const getModulePermissions = () => {
5425
+ loading.value = true;
5426
+ modulePermissions.value = null;
5427
+ shApis.doGet(`admin/departments/department/get-module-permissions/${selectedModule.value.module}`).then(res=>{
5428
+ loading.value = false;
5429
+ modulePermissions.value = reformatModulePermissions(res.data.permissions);
5430
+ });
5431
+ };
5432
+ function reformatModulePermissions(mPs){
5433
+ let mpModules = {};
5434
+ mPs.map(mp=>{
5435
+ const arr = mp.split('.');
5436
+ const key = arr[0];
5437
+ if(typeof mpModules[key] == 'undefined'){
5438
+ mpModules[key]=[];
5439
+ }
5440
+ mpModules[key].push(mp);
5441
+ });
5442
+ return mpModules
5443
+ }
5444
+
5445
+ return (_ctx, _cache) => {
5446
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
5447
+ vue.createElementVNode("div", _hoisted_2$1, [
5448
+ vue.createElementVNode("ul", {
5449
+ ref_key: "tabs",
5450
+ ref: tabs,
5451
+ class: "d-flex flex-column w-100"
5452
+ }, [
5453
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(modules.value, (module) => {
5454
+ return (vue.openBlock(), vue.createElementBlock("li", {
5455
+ class: vue.normalizeClass(selectedModule.value.id === module.id && 'active'),
5456
+ key: module.id
5457
+ }, [
5458
+ _hoisted_3$1,
5459
+ vue.createElementVNode("label", {
5460
+ class: "text-capitalize",
5461
+ onClick: $event => (setModule(module))
5462
+ }, vue.toDisplayString(module.module.replaceAll('_',' ')), 9 /* TEXT, PROPS */, _hoisted_4$1)
5463
+ ], 2 /* CLASS */))
5464
+ }), 128 /* KEYED_FRAGMENT */))
5465
+ ], 512 /* NEED_PATCH */)
5466
+ ]),
5467
+ vue.createElementVNode("div", _hoisted_5$1, [
5468
+ (loading.value)
5469
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, " loading ... "))
5470
+ : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$1, [
5471
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(modulePermissions.value, (permissions) => {
5472
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$1, [
5473
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(permissions, (permission) => {
5474
+ return (vue.openBlock(), vue.createElementBlock("label", _hoisted_9$1, [
5475
+ _hoisted_10,
5476
+ vue.createTextVNode(" " + vue.toDisplayString(permission), 1 /* TEXT */)
5477
+ ]))
5478
+ }), 256 /* UNKEYED_FRAGMENT */))
5479
+ ]))
5480
+ }), 256 /* UNKEYED_FRAGMENT */))
5481
+ ]))
5482
+ ])
5483
+ ]))
5484
+ }
5485
+ }
5486
+
5487
+ };
5488
+
5489
+ script$1.__file = "src/lib/components/core/Departments/department/ManagePermissions.vue";
5381
5490
 
5382
5491
  const _withScopeId = n => (vue.pushScopeId("data-v-2911509a"),n=n(),vue.popScopeId(),n);
5383
5492
  const _hoisted_1 = {
@@ -5444,7 +5553,7 @@ return (_ctx, _cache) => {
5444
5553
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
5445
5554
  (section.value === 'login')
5446
5555
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
5447
- vue.createVNode(script$k, {
5556
+ vue.createVNode(script$l, {
5448
5557
  class: "sh-login-form",
5449
5558
  fields: ['email','password'],
5450
5559
  "action-label": "Login",
@@ -5469,7 +5578,7 @@ return (_ctx, _cache) => {
5469
5578
  (vue.unref(registerSubTitle))
5470
5579
  ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8, vue.toDisplayString(vue.unref(registerSubTitle)), 1 /* TEXT */))
5471
5580
  : vue.createCommentVNode("v-if", true),
5472
- vue.createVNode(script$k, {
5581
+ vue.createVNode(script$l, {
5473
5582
  class: "sh-login-form",
5474
5583
  fields: vue.unref(registrationFields),
5475
5584
  "action-label": "Sign Up",
@@ -5516,7 +5625,7 @@ const ShFrontend = {
5516
5625
  const registerTitle = options.registerTitle ?? 'Create a new account';
5517
5626
  const registerSubTitle = options.registerSubTitle ?? `It's quick and easy`;
5518
5627
  const logoutApiEndpoint = options.logoutApiEndpoint ?? `auth/logout`;
5519
- options.formTextInput ?? script$h;
5628
+ options.formTextInput ?? script$i;
5520
5629
  const loginUrl = options.loginUrl ?? `/login`;
5521
5630
  const redirectLogin = options.redirectLogin ?? `/`;
5522
5631
  const redirectRegister = options.redirectRegister ?? `/`;
@@ -5541,10 +5650,14 @@ const ShFrontend = {
5541
5650
  });
5542
5651
  options.router.addRoute({
5543
5652
  path: '/sh-departments',
5544
- component: script$2
5653
+ component: script$3
5545
5654
  });
5546
5655
  options.router.addRoute({
5547
5656
  path: '/sh-departments/permissions/:id',
5657
+ component: script$2
5658
+ });
5659
+ options.router.addRoute({
5660
+ path: '/sh-departments/manage-permissions/:id',
5548
5661
  component: script$1
5549
5662
  });
5550
5663
  }
@@ -5558,19 +5671,19 @@ const ShFrontend = {
5558
5671
  };
5559
5672
 
5560
5673
  exports.Countries = countries;
5561
- exports.ShAutoForm = script$d;
5562
- exports.ShCanvas = script$9;
5563
- exports.ShConfirmAction = script$7;
5564
- exports.ShDropDownForm = script$c;
5565
- exports.ShDynamicTabs = script$3;
5566
- exports.ShForm = script$k;
5674
+ exports.ShAutoForm = script$e;
5675
+ exports.ShCanvas = script$a;
5676
+ exports.ShConfirmAction = script$8;
5677
+ exports.ShDropDownForm = script$d;
5678
+ exports.ShDynamicTabs = script$4;
5679
+ exports.ShForm = script$l;
5567
5680
  exports.ShFrontend = ShFrontend;
5568
- exports.ShModal = script$b;
5569
- exports.ShModalForm = script$a;
5570
- exports.ShPhone = script$n;
5571
- exports.ShSilentAction = script$6;
5572
- exports.ShTable = script$5;
5573
- exports.ShTabs = script$4;
5681
+ exports.ShModal = script$c;
5682
+ exports.ShModalForm = script$b;
5683
+ exports.ShPhone = script$o;
5684
+ exports.ShSilentAction = script$7;
5685
+ exports.ShTable = script$6;
5686
+ exports.ShTabs = script$5;
5574
5687
  exports.shApis = shApis;
5575
5688
  exports.shRepo = shRepo;
5576
5689
  exports.shStorage = ShStorage;