@iankibetsh/shframework 1.2.4 → 1.2.6

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 +326 -317
  2. package/dist/library.mjs +326 -317
  3. package/package.json +1 -1
package/dist/library.mjs CHANGED
@@ -2050,8 +2050,8 @@ const _hoisted_1$d = {
2050
2050
  const _hoisted_2$a = ["id"];
2051
2051
  const _hoisted_3$9 = { class: "badge bg-secondary m-1 sh-selected-item" };
2052
2052
  const _hoisted_4$9 = ["onClick"];
2053
- const _hoisted_5$6 = ["id"];
2054
- const _hoisted_6$5 = ["id", "aria-labelledby"];
2053
+ const _hoisted_5$7 = ["id"];
2054
+ const _hoisted_6$6 = ["id", "aria-labelledby"];
2055
2055
  const _hoisted_7$4 = { key: 0 };
2056
2056
  const _hoisted_8$3 = ["onClick"];
2057
2057
  const _hoisted_9$4 = {
@@ -2171,7 +2171,7 @@ return (_ctx, _cache) => {
2171
2171
  onClick: filterData,
2172
2172
  onInput: filterData,
2173
2173
  class: "flex-fill h-100 sh-suggestion-input"
2174
- }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5$6)
2174
+ }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5$7)
2175
2175
  ], 8 /* PROPS */, _hoisted_2$a),
2176
2176
  createElementVNode("ul", {
2177
2177
  class: "dropdown-menu w-100",
@@ -2197,7 +2197,7 @@ return (_ctx, _cache) => {
2197
2197
  : (unref(searchText))
2198
2198
  ? (openBlock(), createElementBlock("li", _hoisted_9$4, " No results found "))
2199
2199
  : (openBlock(), createElementBlock("li", _hoisted_10$3, " Type to search... "))
2200
- ], 8 /* PROPS */, _hoisted_6$5)
2200
+ ], 8 /* PROPS */, _hoisted_6$6)
2201
2201
  ]))
2202
2202
  : createCommentVNode("v-if", true)
2203
2203
  }
@@ -2542,8 +2542,8 @@ const _hoisted_3$8 = {
2542
2542
  role: "alert"
2543
2543
  };
2544
2544
  const _hoisted_4$8 = /*#__PURE__*/createElementVNode("i", { class: "bi-exclamation-triangle-fill me-1" }, null, -1 /* HOISTED */);
2545
- const _hoisted_5$5 = { key: 0 };
2546
- const _hoisted_6$4 = { key: 1 };
2545
+ const _hoisted_5$6 = { key: 0 };
2546
+ const _hoisted_6$5 = { key: 1 };
2547
2547
  const _hoisted_7$3 = { class: "row" };
2548
2548
  const _hoisted_8$2 = { class: "fg-label control-label text-capitalize control-bel col-md-12 request-form-label mb-2" };
2549
2549
  const _hoisted_9$3 = { class: "col-md-12" };
@@ -2601,8 +2601,8 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
2601
2601
  ? (openBlock(), createElementBlock("div", _hoisted_3$8, [
2602
2602
  _hoisted_4$8,
2603
2603
  (_ctx.errorText)
2604
- ? (openBlock(), createElementBlock("span", _hoisted_5$5, toDisplayString(_ctx.errorText), 1 /* TEXT */))
2605
- : (openBlock(), createElementBlock("span", _hoisted_6$4, "Unexpected Error Occurred")),
2604
+ ? (openBlock(), createElementBlock("span", _hoisted_5$6, toDisplayString(_ctx.errorText), 1 /* TEXT */))
2605
+ : (openBlock(), createElementBlock("span", _hoisted_6$5, "Unexpected Error Occurred")),
2606
2606
  createCommentVNode(" <button @click=\"hideError\" type=\"button\" class=\"btn-close\" aria-label=\"Close\"></button>")
2607
2607
  ]))
2608
2608
  : createCommentVNode("v-if", true),
@@ -2885,12 +2885,12 @@ const _hoisted_1$a = ["id"];
2885
2885
  const _hoisted_2$7 = { class: "modal-content" };
2886
2886
  const _hoisted_3$7 = { class: "modal-header" };
2887
2887
  const _hoisted_4$7 = { class: "modal-title" };
2888
- const _hoisted_5$4 = /*#__PURE__*/createElementVNode("button", {
2888
+ const _hoisted_5$5 = /*#__PURE__*/createElementVNode("button", {
2889
2889
  class: "btn btn-danger btn-sm",
2890
2890
  "data-bs-dismiss": "modal",
2891
2891
  "data-dismiss": "modal"
2892
2892
  }, "×", -1 /* HOISTED */);
2893
- const _hoisted_6$3 = { class: "modal-body" };
2893
+ const _hoisted_6$4 = { class: "modal-body" };
2894
2894
  const _hoisted_7$2 = { class: "section" };
2895
2895
 
2896
2896
  function render$4(_ctx, _cache, $props, $setup, $data, $options) {
@@ -2905,9 +2905,9 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2905
2905
  createElementVNode("div", _hoisted_2$7, [
2906
2906
  createElementVNode("div", _hoisted_3$7, [
2907
2907
  createElementVNode("h3", _hoisted_4$7, toDisplayString($props.modalTitle), 1 /* TEXT */),
2908
- _hoisted_5$4
2908
+ _hoisted_5$5
2909
2909
  ]),
2910
- createElementVNode("div", _hoisted_6$3, [
2910
+ createElementVNode("div", _hoisted_6$4, [
2911
2911
  createElementVNode("div", _hoisted_7$2, [
2912
2912
  renderSlot(_ctx.$slots, "default")
2913
2913
  ])
@@ -3675,12 +3675,12 @@ const _hoisted_2$4 = {
3675
3675
  };
3676
3676
  const _hoisted_3$4 = ["disabled"];
3677
3677
  const _hoisted_4$4 = /*#__PURE__*/createElementVNode("i", { class: "bi-download" }, null, -1 /* HOISTED */);
3678
- const _hoisted_5$3 = /*#__PURE__*/createElementVNode("span", {
3678
+ const _hoisted_5$4 = /*#__PURE__*/createElementVNode("span", {
3679
3679
  class: "spinner-border spinner-border-sm",
3680
3680
  role: "status",
3681
3681
  "aria-hidden": "true"
3682
3682
  }, null, -1 /* HOISTED */);
3683
- const _hoisted_6$2 = /*#__PURE__*/createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
3683
+ const _hoisted_6$3 = /*#__PURE__*/createElementVNode("span", { class: "visually-hidden" }, "Loading...", -1 /* HOISTED */);
3684
3684
  const _hoisted_7$1 = {
3685
3685
  key: 1,
3686
3686
  class: "row"
@@ -3844,8 +3844,8 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3844
3844
  createTextVNode(" Export ")
3845
3845
  ], 64 /* STABLE_FRAGMENT */))
3846
3846
  : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
3847
- _hoisted_5$3,
3848
- _hoisted_6$2
3847
+ _hoisted_5$4,
3848
+ _hoisted_6$3
3849
3849
  ], 64 /* STABLE_FRAGMENT */))
3850
3850
  ], 8 /* PROPS */, _hoisted_3$4)
3851
3851
  ]))
@@ -3885,122 +3885,289 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3885
3885
  }), 128 /* KEYED_FRAGMENT */))
3886
3886
  : createCommentVNode("v-if", true)
3887
3887
  ], 64 /* STABLE_FRAGMENT */))
3888
- : createCommentVNode("v-if", true),
3889
- ($options.hasRecordsSlot)
3890
- ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
3891
- ($data.loading === 'loading')
3892
- ? (openBlock(), createElementBlock("div", _hoisted_16, _hoisted_18))
3893
- : ($data.loading === 'error')
3894
- ? (openBlock(), createElementBlock("div", _hoisted_19, [
3895
- createElementVNode("span", _hoisted_20, toDisplayString($data.loading_error), 1 /* TEXT */)
3896
- ]))
3897
- : createCommentVNode("v-if", true),
3898
- ($data.loading === 'done')
3899
- ? renderSlot(_ctx.$slots, "records", {
3900
- key: 2,
3901
- records: $data.records
3902
- })
3903
- : createCommentVNode("v-if", true)
3904
- ], 64 /* STABLE_FRAGMENT */))
3905
- : ($options.windowWidth > 700)
3906
- ? (openBlock(), createElementBlock("table", {
3907
- key: 4,
3908
- class: normalizeClass(["table sh-table", $props.tableHover ? 'table-hover':''])
3909
- }, [
3910
- createElementVNode("thead", _hoisted_21, [
3911
- createElementVNode("tr", null, [
3912
- (openBlock(true), createElementBlock(Fragment, null, renderList($props.headers, (title) => {
3913
- return (openBlock(), createElementBlock("th", {
3914
- key: title[0]
3915
- }, [
3916
- (typeof title === 'string')
3917
- ? (openBlock(), createElementBlock("a", {
3918
- key: 0,
3919
- class: "text-capitalize",
3920
- onClick: $event => ($options.changeKey('order_by',title))
3921
- }, toDisplayString(title.replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_22))
3922
- : (typeof title === 'function')
3888
+ : ($options.hasRecordsSlot)
3889
+ ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
3890
+ ($data.loading === 'loading')
3891
+ ? (openBlock(), createElementBlock("div", _hoisted_16, _hoisted_18))
3892
+ : ($data.loading === 'error')
3893
+ ? (openBlock(), createElementBlock("div", _hoisted_19, [
3894
+ createElementVNode("span", _hoisted_20, toDisplayString($data.loading_error), 1 /* TEXT */)
3895
+ ]))
3896
+ : createCommentVNode("v-if", true),
3897
+ ($data.loading === 'done')
3898
+ ? renderSlot(_ctx.$slots, "records", {
3899
+ key: 2,
3900
+ records: $data.records
3901
+ })
3902
+ : createCommentVNode("v-if", true)
3903
+ ], 64 /* STABLE_FRAGMENT */))
3904
+ : ($options.windowWidth > 700)
3905
+ ? (openBlock(), createElementBlock("table", {
3906
+ key: 4,
3907
+ class: normalizeClass(["table sh-table", $props.tableHover ? 'table-hover':''])
3908
+ }, [
3909
+ createElementVNode("thead", _hoisted_21, [
3910
+ createElementVNode("tr", null, [
3911
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.headers, (title) => {
3912
+ return (openBlock(), createElementBlock("th", {
3913
+ key: title[0]
3914
+ }, [
3915
+ (typeof title === 'string')
3923
3916
  ? (openBlock(), createElementBlock("a", {
3924
- key: 1,
3917
+ key: 0,
3925
3918
  class: "text-capitalize",
3926
3919
  onClick: $event => ($options.changeKey('order_by',title))
3927
- }, toDisplayString(title(null).replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_23))
3928
- : (openBlock(), createElementBlock("a", {
3929
- key: 2,
3930
- class: "text-capitalize",
3931
- onClick: $event => ($options.changeKey('order_by',title[0]))
3932
- }, toDisplayString(title[1].replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_24))
3933
- ]))
3934
- }), 128 /* KEYED_FRAGMENT */)),
3935
- ($props.actions)
3936
- ? (openBlock(), createElementBlock("th", _hoisted_25, toDisplayString($props.actions.label), 1 /* TEXT */))
3937
- : createCommentVNode("v-if", true)
3938
- ])
3939
- ]),
3940
- createElementVNode("tbody", _hoisted_26, [
3941
- ($data.loading === 'loading')
3942
- ? (openBlock(), createElementBlock("tr", _hoisted_27, [
3943
- createElementVNode("td", {
3944
- colspan: $props.headers.length
3945
- }, _hoisted_30, 8 /* PROPS */, _hoisted_28)
3946
- ]))
3947
- : ($data.loading === 'error')
3948
- ? (openBlock(), createElementBlock("tr", _hoisted_31, [
3920
+ }, toDisplayString(title.replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_22))
3921
+ : (typeof title === 'function')
3922
+ ? (openBlock(), createElementBlock("a", {
3923
+ key: 1,
3924
+ class: "text-capitalize",
3925
+ onClick: $event => ($options.changeKey('order_by',title))
3926
+ }, toDisplayString(title(null).replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_23))
3927
+ : (openBlock(), createElementBlock("a", {
3928
+ key: 2,
3929
+ class: "text-capitalize",
3930
+ onClick: $event => ($options.changeKey('order_by',title[0]))
3931
+ }, toDisplayString(title[1].replace(/_/g, ' ')), 9 /* TEXT, PROPS */, _hoisted_24))
3932
+ ]))
3933
+ }), 128 /* KEYED_FRAGMENT */)),
3934
+ ($props.actions)
3935
+ ? (openBlock(), createElementBlock("th", _hoisted_25, toDisplayString($props.actions.label), 1 /* TEXT */))
3936
+ : createCommentVNode("v-if", true)
3937
+ ])
3938
+ ]),
3939
+ createElementVNode("tbody", _hoisted_26, [
3940
+ ($data.loading === 'loading')
3941
+ ? (openBlock(), createElementBlock("tr", _hoisted_27, [
3949
3942
  createElementVNode("td", {
3950
3943
  colspan: $props.headers.length
3951
- }, toDisplayString($data.loading_error), 9 /* TEXT, PROPS */, _hoisted_32)
3944
+ }, _hoisted_30, 8 /* PROPS */, _hoisted_28)
3952
3945
  ]))
3953
- : ($data.records.length === 0)
3954
- ? (openBlock(), createElementBlock("tr", _hoisted_33, [
3946
+ : ($data.loading === 'error')
3947
+ ? (openBlock(), createElementBlock("tr", _hoisted_31, [
3955
3948
  createElementVNode("td", {
3956
- colspan: $props.actions ? $props.headers.length + 1 : $props.headers.length
3957
- }, [
3958
- _hoisted_35,
3959
- createTextVNode(" No records found ")
3960
- ], 8 /* PROPS */, _hoisted_34)
3949
+ colspan: $props.headers.length
3950
+ }, toDisplayString($data.loading_error), 9 /* TEXT, PROPS */, _hoisted_32)
3961
3951
  ]))
3962
- : ($data.loading === 'done')
3963
- ? (openBlock(true), createElementBlock(Fragment, { key: 3 }, renderList($data.records, (record, index) => {
3964
- return (openBlock(), createElementBlock("tr", {
3952
+ : ($data.records.length === 0)
3953
+ ? (openBlock(), createElementBlock("tr", _hoisted_33, [
3954
+ createElementVNode("td", {
3955
+ colspan: $props.actions ? $props.headers.length + 1 : $props.headers.length
3956
+ }, [
3957
+ _hoisted_35,
3958
+ createTextVNode(" No records found ")
3959
+ ], 8 /* PROPS */, _hoisted_34)
3960
+ ]))
3961
+ : ($data.loading === 'done')
3962
+ ? (openBlock(true), createElementBlock(Fragment, { key: 3 }, renderList($data.records, (record, index) => {
3963
+ return (openBlock(), createElementBlock("tr", {
3964
+ key: record.id,
3965
+ class: normalizeClass(record.class),
3966
+ onClick: $event => ($options.rowSelected(record))
3967
+ }, [
3968
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.headers, (key) => {
3969
+ return (openBlock(), createElementBlock("td", {
3970
+ key: key[0]
3971
+ }, [
3972
+ (typeof key === 'string' && $props.links && $props.links[key])
3973
+ ? (openBlock(), createBlock(_component_router_link, {
3974
+ key: 0,
3975
+ to: $options.replaceLinkUrl($props.links[key],record),
3976
+ class: normalizeClass($options.getLinkClass($props.links[key])),
3977
+ innerHTML: record[key]
3978
+ }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
3979
+ : ($options.getFieldType(key) === 'numeric')
3980
+ ? (openBlock(), createElementBlock("span", _hoisted_37, toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3981
+ : ($options.getFieldType(key) === 'money')
3982
+ ? (openBlock(), createElementBlock("span", _hoisted_38, toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3983
+ : ($options.getFieldType(key) === 'date')
3984
+ ? (openBlock(), createElementBlock("span", _hoisted_39, toDisplayString($options.formatDate(record[key])), 1 /* TEXT */))
3985
+ : (typeof key === 'string')
3986
+ ? (openBlock(), createElementBlock("span", {
3987
+ key: 4,
3988
+ innerHTML: record[key]
3989
+ }, null, 8 /* PROPS */, _hoisted_40))
3990
+ : (typeof key === 'function')
3991
+ ? (openBlock(), createElementBlock("span", {
3992
+ key: 5,
3993
+ innerHTML: key(record, index)
3994
+ }, null, 8 /* PROPS */, _hoisted_41))
3995
+ : (openBlock(), createElementBlock("span", {
3996
+ key: 6,
3997
+ innerHTML: record[key[0]]
3998
+ }, null, 8 /* PROPS */, _hoisted_42))
3999
+ ]))
4000
+ }), 128 /* KEYED_FRAGMENT */)),
4001
+ ($props.actions)
4002
+ ? (openBlock(), createElementBlock("td", _hoisted_43, [
4003
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.actions.actions, (act) => {
4004
+ return (openBlock(), createElementBlock(Fragment, {
4005
+ key: act.path
4006
+ }, [
4007
+ (!act.permission || $options.user.isAllowedTo(act.permission))
4008
+ ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4009
+ (!act.validator || act.validator(record))
4010
+ ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4011
+ (act.type === 'confirmAction')
4012
+ ? (openBlock(), createBlock(_component_sh_confirm_action, {
4013
+ key: 0,
4014
+ onActionSuccessful: $event => ($options.doEmitAction('actionSuccessful',record)),
4015
+ onActionFailed: $event => ($options.doEmitAction('actionFailed',record)),
4016
+ onActionCanceled: $event => ($options.doEmitAction('actionCanceled',record)),
4017
+ "loading-message": act.label,
4018
+ class: normalizeClass(act.class),
4019
+ url: $options.replaceActionUrl(act.url,record)
4020
+ }, {
4021
+ default: withCtx(() => [
4022
+ (act.icon)
4023
+ ? (openBlock(), createElementBlock("span", {
4024
+ key: 0,
4025
+ class: normalizeClass(act.icon)
4026
+ }, null, 2 /* CLASS */))
4027
+ : createCommentVNode("v-if", true),
4028
+ createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4029
+ ]),
4030
+ _: 2 /* DYNAMIC */
4031
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
4032
+ : (act.type === 'silentAction')
4033
+ ? (openBlock(), createBlock(_component_sh_silent_action, {
4034
+ key: 1,
4035
+ onActionSuccessful: $event => ($options.doEmitAction('actionSuccessful',record)),
4036
+ onActionFailed: $event => ($options.doEmitAction('actionFailed',record)),
4037
+ onActionCanceled: $event => ($options.doEmitAction('actionCanceled',record)),
4038
+ "loading-message": act.label,
4039
+ class: normalizeClass(act.class),
4040
+ url: $options.replaceActionUrl(act.url,record)
4041
+ }, {
4042
+ default: withCtx(() => [
4043
+ (act.icon)
4044
+ ? (openBlock(), createElementBlock("span", {
4045
+ key: 0,
4046
+ class: normalizeClass(act.icon)
4047
+ }, null, 2 /* CLASS */))
4048
+ : createCommentVNode("v-if", true),
4049
+ createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4050
+ ]),
4051
+ _: 2 /* DYNAMIC */
4052
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
4053
+ : (act.canvasId || act.type === 'offcanvas')
4054
+ ? (openBlock(), createElementBlock("a", {
4055
+ key: 2,
4056
+ href: '#' + act.canvasId,
4057
+ "data-bs-toggle": "offcanvas",
4058
+ class: normalizeClass(act.class)
4059
+ }, [
4060
+ (act.icon)
4061
+ ? (openBlock(), createElementBlock("span", {
4062
+ key: 0,
4063
+ class: normalizeClass(act.icon)
4064
+ }, null, 2 /* CLASS */))
4065
+ : createCommentVNode("v-if", true),
4066
+ createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4067
+ ], 10 /* CLASS, PROPS */, _hoisted_44))
4068
+ : (act.emits)
4069
+ ? (openBlock(), createElementBlock("button", {
4070
+ key: 3,
4071
+ title: act.title,
4072
+ class: normalizeClass(act.class ? act.class:'btn btn-default'),
4073
+ onClick: $event => ($options.doEmitAction(act.emits,record))
4074
+ }, [
4075
+ (act.icon)
4076
+ ? (openBlock(), createElementBlock("span", {
4077
+ key: 0,
4078
+ class: normalizeClass(act.icon)
4079
+ }, null, 2 /* CLASS */))
4080
+ : createCommentVNode("v-if", true),
4081
+ createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4082
+ ], 10 /* CLASS, PROPS */, _hoisted_45))
4083
+ : (!act.emits)
4084
+ ? (openBlock(), createBlock(_component_router_link, {
4085
+ key: 4,
4086
+ title: act.title,
4087
+ to: $options.replaceActionUrl(act.path,record),
4088
+ class: normalizeClass(act.class)
4089
+ }, {
4090
+ default: withCtx(() => [
4091
+ (act.icon)
4092
+ ? (openBlock(), createElementBlock("span", {
4093
+ key: 0,
4094
+ class: normalizeClass(act.icon)
4095
+ }, null, 2 /* CLASS */))
4096
+ : createCommentVNode("v-if", true),
4097
+ createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4098
+ ]),
4099
+ _: 2 /* DYNAMIC */
4100
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "to", "class"]))
4101
+ : createCommentVNode("v-if", true)
4102
+ ], 64 /* STABLE_FRAGMENT */))
4103
+ : createCommentVNode("v-if", true)
4104
+ ], 64 /* STABLE_FRAGMENT */))
4105
+ : createCommentVNode("v-if", true)
4106
+ ], 64 /* STABLE_FRAGMENT */))
4107
+ }), 128 /* KEYED_FRAGMENT */))
4108
+ ]))
4109
+ : createCommentVNode("v-if", true)
4110
+ ], 10 /* CLASS, PROPS */, _hoisted_36))
4111
+ }), 128 /* KEYED_FRAGMENT */))
4112
+ : createCommentVNode("v-if", true)
4113
+ ])
4114
+ ], 2 /* CLASS */))
4115
+ : (openBlock(), createElementBlock("div", _hoisted_46, [
4116
+ ($data.loading === 'loading')
4117
+ ? (openBlock(), createElementBlock("div", _hoisted_47, _hoisted_49))
4118
+ : ($data.loading === 'error')
4119
+ ? (openBlock(), createElementBlock("div", _hoisted_50, [
4120
+ createElementVNode("span", null, toDisplayString($data.loading_error), 1 /* TEXT */)
4121
+ ]))
4122
+ : ($data.loading === 'done')
4123
+ ? (openBlock(), createElementBlock("div", _hoisted_51, [
4124
+ (openBlock(true), createElementBlock(Fragment, null, renderList($data.records, (record, index) => {
4125
+ return (openBlock(), createElementBlock("div", {
3965
4126
  key: record.id,
3966
- class: normalizeClass(record.class),
4127
+ class: "single-mobile-req bg-light p-3",
3967
4128
  onClick: $event => ($options.rowSelected(record))
3968
4129
  }, [
3969
4130
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.headers, (key) => {
3970
- return (openBlock(), createElementBlock("td", {
4131
+ return (openBlock(), createElementBlock(Fragment, {
3971
4132
  key: key[0]
3972
4133
  }, [
3973
- (typeof key === 'string' && $props.links && $props.links[key])
3974
- ? (openBlock(), createBlock(_component_router_link, {
3975
- key: 0,
3976
- to: $options.replaceLinkUrl($props.links[key],record),
3977
- class: normalizeClass($options.getLinkClass($props.links[key])),
3978
- innerHTML: record[key]
3979
- }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
3980
- : ($options.getFieldType(key) === 'numeric')
3981
- ? (openBlock(), createElementBlock("span", _hoisted_37, toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3982
- : ($options.getFieldType(key) === 'money')
3983
- ? (openBlock(), createElementBlock("span", _hoisted_38, toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
3984
- : ($options.getFieldType(key) === 'date')
3985
- ? (openBlock(), createElementBlock("span", _hoisted_39, toDisplayString($options.formatDate(record[key])), 1 /* TEXT */))
3986
- : (typeof key === 'string')
4134
+ (typeof key === 'string' )
4135
+ ? (openBlock(), createElementBlock("p", _hoisted_53, toDisplayString(key.replace(/_/g, ' ')), 1 /* TEXT */))
4136
+ : (typeof key === 'function')
4137
+ ? (openBlock(), createElementBlock("p", _hoisted_54, toDisplayString(key(null).replace(/_/g, ' ')), 1 /* TEXT */))
4138
+ : (openBlock(), createElementBlock("p", _hoisted_55, toDisplayString(key[1].replace(/_/g, ' ')), 1 /* TEXT */)),
4139
+ createElementVNode("span", null, [
4140
+ (typeof key === 'string' && $props.links && $props.links[key])
4141
+ ? (openBlock(), createBlock(_component_router_link, {
4142
+ key: 0,
4143
+ to: $options.replaceLinkUrl($props.links[key],record),
4144
+ class: normalizeClass($options.getLinkClass($props.links[key])),
4145
+ innerHTML: record[key]
4146
+ }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
4147
+ : ($options.getFieldType(key) === 'numeric')
4148
+ ? (openBlock(), createElementBlock("span", _hoisted_56, toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4149
+ : ($options.getFieldType(key) === 'money')
4150
+ ? (openBlock(), createElementBlock("span", _hoisted_57, "KES " + toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4151
+ : (typeof key === 'string')
3987
4152
  ? (openBlock(), createElementBlock("span", {
3988
- key: 4,
4153
+ key: 3,
3989
4154
  innerHTML: record[key]
3990
- }, null, 8 /* PROPS */, _hoisted_40))
4155
+ }, null, 8 /* PROPS */, _hoisted_58))
3991
4156
  : (typeof key === 'function')
3992
4157
  ? (openBlock(), createElementBlock("span", {
3993
- key: 5,
3994
- innerHTML: key(record, index)
3995
- }, null, 8 /* PROPS */, _hoisted_41))
4158
+ key: 4,
4159
+ innerHTML: key(record, index )
4160
+ }, null, 8 /* PROPS */, _hoisted_59))
3996
4161
  : (openBlock(), createElementBlock("span", {
3997
- key: 6,
4162
+ key: 5,
3998
4163
  innerHTML: record[key[0]]
3999
- }, null, 8 /* PROPS */, _hoisted_42))
4000
- ]))
4164
+ }, null, 8 /* PROPS */, _hoisted_60))
4165
+ ]),
4166
+ _hoisted_61
4167
+ ], 64 /* STABLE_FRAGMENT */))
4001
4168
  }), 128 /* KEYED_FRAGMENT */)),
4002
4169
  ($props.actions)
4003
- ? (openBlock(), createElementBlock("td", _hoisted_43, [
4170
+ ? (openBlock(), createElementBlock("div", _hoisted_62, [
4004
4171
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.actions.actions, (act) => {
4005
4172
  return (openBlock(), createElementBlock(Fragment, {
4006
4173
  key: act.path
@@ -4009,17 +4176,28 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4009
4176
  ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4010
4177
  (!act.validator || act.validator(record))
4011
4178
  ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4012
- (act.type === 'confirmAction')
4013
- ? (openBlock(), createBlock(_component_sh_confirm_action, {
4179
+ (act.canvasId)
4180
+ ? (openBlock(), createElementBlock("a", {
4014
4181
  key: 0,
4015
- onActionSuccessful: $event => ($options.doEmitAction('actionSuccessful',record)),
4016
- onActionFailed: $event => ($options.doEmitAction('actionFailed',record)),
4017
- onActionCanceled: $event => ($options.doEmitAction('actionCanceled',record)),
4018
- "loading-message": act.label,
4019
- class: normalizeClass(act.class),
4020
- url: $options.replaceActionUrl(act.url,record)
4021
- }, {
4022
- default: withCtx(() => [
4182
+ href: '#' + act.canvasId,
4183
+ "data-bs-toggle": "offcanvas",
4184
+ class: normalizeClass(act.class)
4185
+ }, [
4186
+ (act.icon)
4187
+ ? (openBlock(), createElementBlock("span", {
4188
+ key: 0,
4189
+ class: normalizeClass(act.icon)
4190
+ }, null, 2 /* CLASS */))
4191
+ : createCommentVNode("v-if", true),
4192
+ createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4193
+ ], 10 /* CLASS, PROPS */, _hoisted_63))
4194
+ : (act.emits)
4195
+ ? (openBlock(), createElementBlock("button", {
4196
+ key: 1,
4197
+ title: act.title,
4198
+ class: normalizeClass(act.class ? act.class:'btn btn-default'),
4199
+ onClick: $event => ($options.doEmitAction(act.emits,record))
4200
+ }, [
4023
4201
  (act.icon)
4024
4202
  ? (openBlock(), createElementBlock("span", {
4025
4203
  key: 0,
@@ -4027,52 +4205,15 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4027
4205
  }, null, 2 /* CLASS */))
4028
4206
  : createCommentVNode("v-if", true),
4029
4207
  createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4030
- ]),
4031
- _: 2 /* DYNAMIC */
4032
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
4033
- : (act.type === 'silentAction')
4034
- ? (openBlock(), createBlock(_component_sh_silent_action, {
4035
- key: 1,
4036
- onActionSuccessful: $event => ($options.doEmitAction('actionSuccessful',record)),
4037
- onActionFailed: $event => ($options.doEmitAction('actionFailed',record)),
4038
- onActionCanceled: $event => ($options.doEmitAction('actionCanceled',record)),
4039
- "loading-message": act.label,
4040
- class: normalizeClass(act.class),
4041
- url: $options.replaceActionUrl(act.url,record)
4042
- }, {
4043
- default: withCtx(() => [
4044
- (act.icon)
4045
- ? (openBlock(), createElementBlock("span", {
4046
- key: 0,
4047
- class: normalizeClass(act.icon)
4048
- }, null, 2 /* CLASS */))
4049
- : createCommentVNode("v-if", true),
4050
- createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4051
- ]),
4052
- _: 2 /* DYNAMIC */
4053
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onActionSuccessful", "onActionFailed", "onActionCanceled", "loading-message", "class", "url"]))
4054
- : (act.canvasId || act.type === 'offcanvas')
4055
- ? (openBlock(), createElementBlock("a", {
4208
+ ], 10 /* CLASS, PROPS */, _hoisted_64))
4209
+ : (!act.emits)
4210
+ ? (openBlock(), createBlock(_component_router_link, {
4056
4211
  key: 2,
4057
- href: '#' + act.canvasId,
4058
- "data-bs-toggle": "offcanvas",
4212
+ title: act.title,
4213
+ to: $options.replaceActionUrl(act.path,record),
4059
4214
  class: normalizeClass(act.class)
4060
- }, [
4061
- (act.icon)
4062
- ? (openBlock(), createElementBlock("span", {
4063
- key: 0,
4064
- class: normalizeClass(act.icon)
4065
- }, null, 2 /* CLASS */))
4066
- : createCommentVNode("v-if", true),
4067
- createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4068
- ], 10 /* CLASS, PROPS */, _hoisted_44))
4069
- : (act.emits)
4070
- ? (openBlock(), createElementBlock("button", {
4071
- key: 3,
4072
- title: act.title,
4073
- class: normalizeClass(act.class ? act.class:'btn btn-default'),
4074
- onClick: $event => ($options.doEmitAction(act.emits,record))
4075
- }, [
4215
+ }, {
4216
+ default: withCtx(() => [
4076
4217
  (act.icon)
4077
4218
  ? (openBlock(), createElementBlock("span", {
4078
4219
  key: 0,
@@ -4080,26 +4221,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4080
4221
  }, null, 2 /* CLASS */))
4081
4222
  : createCommentVNode("v-if", true),
4082
4223
  createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4083
- ], 10 /* CLASS, PROPS */, _hoisted_45))
4084
- : (!act.emits)
4085
- ? (openBlock(), createBlock(_component_router_link, {
4086
- key: 4,
4087
- title: act.title,
4088
- to: $options.replaceActionUrl(act.path,record),
4089
- class: normalizeClass(act.class)
4090
- }, {
4091
- default: withCtx(() => [
4092
- (act.icon)
4093
- ? (openBlock(), createElementBlock("span", {
4094
- key: 0,
4095
- class: normalizeClass(act.icon)
4096
- }, null, 2 /* CLASS */))
4097
- : createCommentVNode("v-if", true),
4098
- createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4099
- ]),
4100
- _: 2 /* DYNAMIC */
4101
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "to", "class"]))
4102
- : createCommentVNode("v-if", true)
4224
+ ]),
4225
+ _: 2 /* DYNAMIC */
4226
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "to", "class"]))
4227
+ : createCommentVNode("v-if", true)
4103
4228
  ], 64 /* STABLE_FRAGMENT */))
4104
4229
  : createCommentVNode("v-if", true)
4105
4230
  ], 64 /* STABLE_FRAGMENT */))
@@ -4108,137 +4233,11 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
4108
4233
  }), 128 /* KEYED_FRAGMENT */))
4109
4234
  ]))
4110
4235
  : createCommentVNode("v-if", true)
4111
- ], 10 /* CLASS, PROPS */, _hoisted_36))
4236
+ ], 8 /* PROPS */, _hoisted_52))
4112
4237
  }), 128 /* KEYED_FRAGMENT */))
4113
- : createCommentVNode("v-if", true)
4114
- ])
4115
- ], 2 /* CLASS */))
4116
- : (openBlock(), createElementBlock("div", _hoisted_46, [
4117
- ($data.loading === 'loading')
4118
- ? (openBlock(), createElementBlock("div", _hoisted_47, _hoisted_49))
4119
- : ($data.loading === 'error')
4120
- ? (openBlock(), createElementBlock("div", _hoisted_50, [
4121
- createElementVNode("span", null, toDisplayString($data.loading_error), 1 /* TEXT */)
4122
- ]))
4123
- : ($data.loading === 'done')
4124
- ? (openBlock(), createElementBlock("div", _hoisted_51, [
4125
- (openBlock(true), createElementBlock(Fragment, null, renderList($data.records, (record, index) => {
4126
- return (openBlock(), createElementBlock("div", {
4127
- key: record.id,
4128
- class: "single-mobile-req bg-light p-3",
4129
- onClick: $event => ($options.rowSelected(record))
4130
- }, [
4131
- (openBlock(true), createElementBlock(Fragment, null, renderList($props.headers, (key) => {
4132
- return (openBlock(), createElementBlock(Fragment, {
4133
- key: key[0]
4134
- }, [
4135
- (typeof key === 'string' )
4136
- ? (openBlock(), createElementBlock("p", _hoisted_53, toDisplayString(key.replace(/_/g, ' ')), 1 /* TEXT */))
4137
- : (typeof key === 'function')
4138
- ? (openBlock(), createElementBlock("p", _hoisted_54, toDisplayString(key(null).replace(/_/g, ' ')), 1 /* TEXT */))
4139
- : (openBlock(), createElementBlock("p", _hoisted_55, toDisplayString(key[1].replace(/_/g, ' ')), 1 /* TEXT */)),
4140
- createElementVNode("span", null, [
4141
- (typeof key === 'string' && $props.links && $props.links[key])
4142
- ? (openBlock(), createBlock(_component_router_link, {
4143
- key: 0,
4144
- to: $options.replaceLinkUrl($props.links[key],record),
4145
- class: normalizeClass($options.getLinkClass($props.links[key])),
4146
- innerHTML: record[key]
4147
- }, null, 8 /* PROPS */, ["to", "class", "innerHTML"]))
4148
- : ($options.getFieldType(key) === 'numeric')
4149
- ? (openBlock(), createElementBlock("span", _hoisted_56, toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4150
- : ($options.getFieldType(key) === 'money')
4151
- ? (openBlock(), createElementBlock("span", _hoisted_57, "KES " + toDisplayString(Intl.NumberFormat().format(record[key])), 1 /* TEXT */))
4152
- : (typeof key === 'string')
4153
- ? (openBlock(), createElementBlock("span", {
4154
- key: 3,
4155
- innerHTML: record[key]
4156
- }, null, 8 /* PROPS */, _hoisted_58))
4157
- : (typeof key === 'function')
4158
- ? (openBlock(), createElementBlock("span", {
4159
- key: 4,
4160
- innerHTML: key(record, index )
4161
- }, null, 8 /* PROPS */, _hoisted_59))
4162
- : (openBlock(), createElementBlock("span", {
4163
- key: 5,
4164
- innerHTML: record[key[0]]
4165
- }, null, 8 /* PROPS */, _hoisted_60))
4166
- ]),
4167
- _hoisted_61
4168
- ], 64 /* STABLE_FRAGMENT */))
4169
- }), 128 /* KEYED_FRAGMENT */)),
4170
- ($props.actions)
4171
- ? (openBlock(), createElementBlock("div", _hoisted_62, [
4172
- (openBlock(true), createElementBlock(Fragment, null, renderList($props.actions.actions, (act) => {
4173
- return (openBlock(), createElementBlock(Fragment, {
4174
- key: act.path
4175
- }, [
4176
- (!act.permission || $options.user.isAllowedTo(act.permission))
4177
- ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4178
- (!act.validator || act.validator(record))
4179
- ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4180
- (act.canvasId)
4181
- ? (openBlock(), createElementBlock("a", {
4182
- key: 0,
4183
- href: '#' + act.canvasId,
4184
- "data-bs-toggle": "offcanvas",
4185
- class: normalizeClass(act.class)
4186
- }, [
4187
- (act.icon)
4188
- ? (openBlock(), createElementBlock("span", {
4189
- key: 0,
4190
- class: normalizeClass(act.icon)
4191
- }, null, 2 /* CLASS */))
4192
- : createCommentVNode("v-if", true),
4193
- createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4194
- ], 10 /* CLASS, PROPS */, _hoisted_63))
4195
- : (act.emits)
4196
- ? (openBlock(), createElementBlock("button", {
4197
- key: 1,
4198
- title: act.title,
4199
- class: normalizeClass(act.class ? act.class:'btn btn-default'),
4200
- onClick: $event => ($options.doEmitAction(act.emits,record))
4201
- }, [
4202
- (act.icon)
4203
- ? (openBlock(), createElementBlock("span", {
4204
- key: 0,
4205
- class: normalizeClass(act.icon)
4206
- }, null, 2 /* CLASS */))
4207
- : createCommentVNode("v-if", true),
4208
- createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4209
- ], 10 /* CLASS, PROPS */, _hoisted_64))
4210
- : (!act.emits)
4211
- ? (openBlock(), createBlock(_component_router_link, {
4212
- key: 2,
4213
- title: act.title,
4214
- to: $options.replaceActionUrl(act.path,record),
4215
- class: normalizeClass(act.class)
4216
- }, {
4217
- default: withCtx(() => [
4218
- (act.icon)
4219
- ? (openBlock(), createElementBlock("span", {
4220
- key: 0,
4221
- class: normalizeClass(act.icon)
4222
- }, null, 2 /* CLASS */))
4223
- : createCommentVNode("v-if", true),
4224
- createTextVNode(" " + toDisplayString(act.label), 1 /* TEXT */)
4225
- ]),
4226
- _: 2 /* DYNAMIC */
4227
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "to", "class"]))
4228
- : createCommentVNode("v-if", true)
4229
- ], 64 /* STABLE_FRAGMENT */))
4230
- : createCommentVNode("v-if", true)
4231
- ], 64 /* STABLE_FRAGMENT */))
4232
- : createCommentVNode("v-if", true)
4233
- ], 64 /* STABLE_FRAGMENT */))
4234
- }), 128 /* KEYED_FRAGMENT */))
4235
- ]))
4236
- : createCommentVNode("v-if", true)
4237
- ], 8 /* PROPS */, _hoisted_52))
4238
- }), 128 /* KEYED_FRAGMENT */))
4239
- ]))
4240
- : createCommentVNode("v-if", true)
4241
- ])),
4238
+ ]))
4239
+ : createCommentVNode("v-if", true)
4240
+ ])),
4242
4241
  ($data.pagination_data)
4243
4242
  ? (openBlock(), createBlock(_component_pagination, {
4244
4243
  key: 6,
@@ -4417,7 +4416,9 @@ const _hoisted_2$3 = {
4417
4416
  role: "presentation"
4418
4417
  };
4419
4418
  const _hoisted_3$3 = ["onClick"];
4420
- const _hoisted_4$3 = { class: "tab-content" };
4419
+ const _hoisted_4$3 = /*#__PURE__*/createElementVNode("i", { class: "d-none" }, null, -1 /* HOISTED */);
4420
+ const _hoisted_5$3 = { class: "sh_tab_count" };
4421
+ const _hoisted_6$2 = { class: "tab-content" };
4421
4422
 
4422
4423
  var script$3 = {
4423
4424
  __name: 'ShDynamicTabs',
@@ -4450,11 +4451,19 @@ return (_ctx, _cache) => {
4450
4451
  createElementVNode("button", {
4451
4452
  onClick: $event => (setTab(tab)),
4452
4453
  class: normalizeClass(["nav-link", unref(currentTab) === tab ? 'active':''])
4453
- }, toDisplayString(tab.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_3$3)
4454
+ }, [
4455
+ createTextVNode(toDisplayString(tab.label) + " ", 1 /* TEXT */),
4456
+ (tab.count || tab.tabCount)
4457
+ ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4458
+ _hoisted_4$3,
4459
+ createElementVNode("sup", _hoisted_5$3, toDisplayString(tab.count ?? tab.tabCount), 1 /* TEXT */)
4460
+ ], 64 /* STABLE_FRAGMENT */))
4461
+ : createCommentVNode("v-if", true)
4462
+ ], 10 /* CLASS, PROPS */, _hoisted_3$3)
4454
4463
  ]))
4455
4464
  }), 256 /* UNKEYED_FRAGMENT */))
4456
4465
  ]),
4457
- createElementVNode("div", _hoisted_4$3, [
4466
+ createElementVNode("div", _hoisted_6$2, [
4458
4467
  (unref(currentTab))
4459
4468
  ? (openBlock(), createBlock(resolveDynamicComponent(unref(currentTab).component), normalizeProps(mergeProps({ key: 0 }, unref(currentTab))), null, 16 /* FULL_PROPS */))
4460
4469
  : createCommentVNode("v-if", true)