quasar-ui-sellmate-ui-kit 3.11.0 → 3.11.2
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.
- package/dist/index.common.js +2 -2
- package/dist/index.css +1 -1
- package/dist/index.esm.js +2 -2
- package/dist/index.min.css +1 -1
- package/dist/index.rtl.css +1 -1
- package/dist/index.rtl.min.css +1 -1
- package/dist/index.umd.js +346 -334
- package/dist/index.umd.min.js +2 -2
- package/package.json +1 -1
- package/src/components/STab.vue +147 -147
- package/src/components/STable.vue +593 -581
- package/src/components/STag.vue +152 -152
package/dist/index.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* quasar-ui-sellmate-ui-kit v3.
|
|
2
|
+
* quasar-ui-sellmate-ui-kit v3.11.1
|
|
3
3
|
* (c) 2024 Sellmate Dev Team <dev@sellmate.co.kr>
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -4773,89 +4773,89 @@
|
|
|
4773
4773
|
|
|
4774
4774
|
script$f.render = render$g;
|
|
4775
4775
|
|
|
4776
|
-
var colorStatusList = {
|
|
4777
|
-
Grey: {
|
|
4778
|
-
color: 'Grey_Lighten-4',
|
|
4779
|
-
textColor: 'Grey_Darken-1',
|
|
4780
|
-
},
|
|
4781
|
-
Red: {
|
|
4782
|
-
color: 'Red_Lighten-6',
|
|
4783
|
-
textColor: 'Red_Lighten-1',
|
|
4784
|
-
},
|
|
4785
|
-
Orange: {
|
|
4786
|
-
color: 'Orange_Lighten-6',
|
|
4787
|
-
textColor: 'Orange_Default',
|
|
4788
|
-
},
|
|
4789
|
-
Yellow: {
|
|
4790
|
-
color: 'Yellow_Lighten-5',
|
|
4791
|
-
textColor: 'Yellow_Darken-2',
|
|
4792
|
-
},
|
|
4793
|
-
Green: {
|
|
4794
|
-
color: 'Green_Lighten-6',
|
|
4795
|
-
textColor: 'Green_Lighten-1',
|
|
4796
|
-
},
|
|
4797
|
-
Blue: {
|
|
4798
|
-
color: 'Blue_C_Lighten-6',
|
|
4799
|
-
textColor: 'Blue_C_Default',
|
|
4800
|
-
},
|
|
4801
|
-
Darkblue: {
|
|
4802
|
-
color: 'Blue_B_Lighten-6',
|
|
4803
|
-
textColor: 'Blue_B_Lighten-1',
|
|
4804
|
-
},
|
|
4805
|
-
Indigo: {
|
|
4806
|
-
color: 'Blue_C_Lighten-7',
|
|
4807
|
-
textColor: 'Blue_C_Darken-2',
|
|
4808
|
-
},
|
|
4809
|
-
};
|
|
4810
|
-
|
|
4811
|
-
var script$e = vue.defineComponent({
|
|
4812
|
-
name: 'STag',
|
|
4813
|
-
components: { QBadge: quasar.QBadge, QIcon: quasar.QIcon },
|
|
4814
|
-
props: {
|
|
4815
|
-
label: String,
|
|
4816
|
-
size: {
|
|
4817
|
-
/**
|
|
4818
|
-
* @type {'sm' | 'md' | 'lg'} type
|
|
4819
|
-
*/
|
|
4820
|
-
type: String,
|
|
4821
|
-
default: 'md',
|
|
4822
|
-
},
|
|
4823
|
-
color: {
|
|
4824
|
-
type: String,
|
|
4825
|
-
default: 'Blue_C_Lighten-6',
|
|
4826
|
-
},
|
|
4827
|
-
textColor: {
|
|
4828
|
-
type: String,
|
|
4829
|
-
default: 'positive',
|
|
4830
|
-
},
|
|
4831
|
-
colorStatus: {
|
|
4832
|
-
/**
|
|
4833
|
-
* @type {'Grey' | 'Red' | 'Orange' | 'Yellow' | 'Green' | 'Blue' | 'Darkblue' | 'Indigo'} type
|
|
4834
|
-
*/
|
|
4835
|
-
type: String,
|
|
4836
|
-
default: '',
|
|
4837
|
-
},
|
|
4838
|
-
textClass: {
|
|
4839
|
-
type: String,
|
|
4840
|
-
default: '',
|
|
4841
|
-
},
|
|
4842
|
-
rounded: {
|
|
4843
|
-
type: Boolean,
|
|
4844
|
-
default: false,
|
|
4845
|
-
},
|
|
4846
|
-
},
|
|
4847
|
-
setup: function setup(props) {
|
|
4848
|
-
var computedColor = vue.computed(function () { return props.colorStatus ? colorStatusList[props.colorStatus].color : props.color; }
|
|
4849
|
-
);
|
|
4850
|
-
|
|
4851
|
-
var computedTextColor = vue.computed(function () { return props.colorStatus ? colorStatusList[props.colorStatus].textColor : props.textColor; }
|
|
4852
|
-
);
|
|
4853
|
-
return {
|
|
4854
|
-
colorStatusList: colorStatusList,
|
|
4855
|
-
computedColor: computedColor,
|
|
4856
|
-
computedTextColor: computedTextColor,
|
|
4857
|
-
};
|
|
4858
|
-
},
|
|
4776
|
+
var colorStatusList = {
|
|
4777
|
+
Grey: {
|
|
4778
|
+
color: 'Grey_Lighten-4',
|
|
4779
|
+
textColor: 'Grey_Darken-1',
|
|
4780
|
+
},
|
|
4781
|
+
Red: {
|
|
4782
|
+
color: 'Red_Lighten-6',
|
|
4783
|
+
textColor: 'Red_Lighten-1',
|
|
4784
|
+
},
|
|
4785
|
+
Orange: {
|
|
4786
|
+
color: 'Orange_Lighten-6',
|
|
4787
|
+
textColor: 'Orange_Default',
|
|
4788
|
+
},
|
|
4789
|
+
Yellow: {
|
|
4790
|
+
color: 'Yellow_Lighten-5',
|
|
4791
|
+
textColor: 'Yellow_Darken-2',
|
|
4792
|
+
},
|
|
4793
|
+
Green: {
|
|
4794
|
+
color: 'Green_Lighten-6',
|
|
4795
|
+
textColor: 'Green_Lighten-1',
|
|
4796
|
+
},
|
|
4797
|
+
Blue: {
|
|
4798
|
+
color: 'Blue_C_Lighten-6',
|
|
4799
|
+
textColor: 'Blue_C_Default',
|
|
4800
|
+
},
|
|
4801
|
+
Darkblue: {
|
|
4802
|
+
color: 'Blue_B_Lighten-6',
|
|
4803
|
+
textColor: 'Blue_B_Lighten-1',
|
|
4804
|
+
},
|
|
4805
|
+
Indigo: {
|
|
4806
|
+
color: 'Blue_C_Lighten-7',
|
|
4807
|
+
textColor: 'Blue_C_Darken-2',
|
|
4808
|
+
},
|
|
4809
|
+
};
|
|
4810
|
+
|
|
4811
|
+
var script$e = vue.defineComponent({
|
|
4812
|
+
name: 'STag',
|
|
4813
|
+
components: { QBadge: quasar.QBadge, QIcon: quasar.QIcon },
|
|
4814
|
+
props: {
|
|
4815
|
+
label: String,
|
|
4816
|
+
size: {
|
|
4817
|
+
/**
|
|
4818
|
+
* @type {'sm' | 'md' | 'lg'} type
|
|
4819
|
+
*/
|
|
4820
|
+
type: String,
|
|
4821
|
+
default: 'md',
|
|
4822
|
+
},
|
|
4823
|
+
color: {
|
|
4824
|
+
type: String,
|
|
4825
|
+
default: 'Blue_C_Lighten-6',
|
|
4826
|
+
},
|
|
4827
|
+
textColor: {
|
|
4828
|
+
type: String,
|
|
4829
|
+
default: 'positive',
|
|
4830
|
+
},
|
|
4831
|
+
colorStatus: {
|
|
4832
|
+
/**
|
|
4833
|
+
* @type {'Grey' | 'Red' | 'Orange' | 'Yellow' | 'Green' | 'Blue' | 'Darkblue' | 'Indigo'} type
|
|
4834
|
+
*/
|
|
4835
|
+
type: String,
|
|
4836
|
+
default: '',
|
|
4837
|
+
},
|
|
4838
|
+
textClass: {
|
|
4839
|
+
type: String,
|
|
4840
|
+
default: '',
|
|
4841
|
+
},
|
|
4842
|
+
rounded: {
|
|
4843
|
+
type: Boolean,
|
|
4844
|
+
default: false,
|
|
4845
|
+
},
|
|
4846
|
+
},
|
|
4847
|
+
setup: function setup(props) {
|
|
4848
|
+
var computedColor = vue.computed(function () { return props.colorStatus ? colorStatusList[props.colorStatus].color : props.color; }
|
|
4849
|
+
);
|
|
4850
|
+
|
|
4851
|
+
var computedTextColor = vue.computed(function () { return props.colorStatus ? colorStatusList[props.colorStatus].textColor : props.textColor; }
|
|
4852
|
+
);
|
|
4853
|
+
return {
|
|
4854
|
+
colorStatusList: colorStatusList,
|
|
4855
|
+
computedColor: computedColor,
|
|
4856
|
+
computedTextColor: computedTextColor,
|
|
4857
|
+
};
|
|
4858
|
+
},
|
|
4859
4859
|
});
|
|
4860
4860
|
|
|
4861
4861
|
var _hoisted_1$b = ["innerHTML"];
|
|
@@ -4865,11 +4865,11 @@
|
|
|
4865
4865
|
var _component_q_badge = vue.resolveComponent("q-badge");
|
|
4866
4866
|
|
|
4867
4867
|
return (vue.openBlock(), vue.createBlock(_component_q_badge, {
|
|
4868
|
-
class: vue.normalizeClass(["s-tag", {
|
|
4869
|
-
's-tag__sm': _ctx.size === 'sm',
|
|
4870
|
-
's-tag__md': _ctx.size === 'md',
|
|
4871
|
-
's-tag__lg': _ctx.size === 'lg',
|
|
4872
|
-
's-tag__rounded': _ctx.rounded === true,
|
|
4868
|
+
class: vue.normalizeClass(["s-tag flex no-wrap flex-center", {
|
|
4869
|
+
's-tag__sm': _ctx.size === 'sm',
|
|
4870
|
+
's-tag__md': _ctx.size === 'md',
|
|
4871
|
+
's-tag__lg': _ctx.size === 'lg',
|
|
4872
|
+
's-tag__rounded': _ctx.rounded === true,
|
|
4873
4873
|
}]),
|
|
4874
4874
|
color: _ctx.computedColor,
|
|
4875
4875
|
"text-color": _ctx.computedTextColor
|
|
@@ -4894,31 +4894,31 @@
|
|
|
4894
4894
|
}, 8, ["class", "color", "text-color"]))
|
|
4895
4895
|
}
|
|
4896
4896
|
|
|
4897
|
-
var css_248z$e = ".s-tag[data-v-
|
|
4897
|
+
var css_248z$e = ".s-tag[data-v-1e1a93e5] {\n border-radius: 4px;\n box-sizing: border-box;\n}\n.s-tag__sm[data-v-1e1a93e5] {\n padding: 1px 6px;\n height: 20px;\n}\n.s-tag__sm > span[data-v-1e1a93e5] {\n line-height: 18px;\n font-size: 11px;\n}\n.s-tag__md[data-v-1e1a93e5] {\n padding: 2px 8px;\n height: 24px;\n}\n.s-tag__md > span[data-v-1e1a93e5] {\n line-height: 20px;\n font-size: 12px;\n font-weight: 700;\n}\n.s-tag__lg[data-v-1e1a93e5] {\n padding: 4px 16px;\n height: 48px;\n}\n.s-tag__lg > span[data-v-1e1a93e5] {\n line-height: 40px;\n font-size: 24px;\n font-weight: 700;\n}\n.s-tag__rounded[data-v-1e1a93e5] {\n border-radius: 20px;\n}";
|
|
4898
4898
|
styleInject(css_248z$e);
|
|
4899
4899
|
|
|
4900
4900
|
script$e.render = render$f;
|
|
4901
|
-
script$e.__scopeId = "data-v-
|
|
4901
|
+
script$e.__scopeId = "data-v-1e1a93e5";
|
|
4902
4902
|
|
|
4903
|
-
var script$d = vue.defineComponent({
|
|
4904
|
-
name: 'STab',
|
|
4905
|
-
components: {
|
|
4906
|
-
QTab: quasar.QTab,
|
|
4907
|
-
STag: script$e,
|
|
4908
|
-
},
|
|
4909
|
-
props: {
|
|
4910
|
-
name: String,
|
|
4911
|
-
label: String,
|
|
4912
|
-
tag: String,
|
|
4913
|
-
size: {
|
|
4914
|
-
type: String,
|
|
4915
|
-
default: 'md', // sm, md
|
|
4916
|
-
},
|
|
4917
|
-
type: {
|
|
4918
|
-
type: String,
|
|
4919
|
-
default: 'main',
|
|
4920
|
-
},
|
|
4921
|
-
},
|
|
4903
|
+
var script$d = vue.defineComponent({
|
|
4904
|
+
name: 'STab',
|
|
4905
|
+
components: {
|
|
4906
|
+
QTab: quasar.QTab,
|
|
4907
|
+
STag: script$e,
|
|
4908
|
+
},
|
|
4909
|
+
props: {
|
|
4910
|
+
name: String,
|
|
4911
|
+
label: String,
|
|
4912
|
+
tag: String,
|
|
4913
|
+
size: {
|
|
4914
|
+
type: String,
|
|
4915
|
+
default: 'md', // sm, md
|
|
4916
|
+
},
|
|
4917
|
+
type: {
|
|
4918
|
+
type: String,
|
|
4919
|
+
default: 'main',
|
|
4920
|
+
},
|
|
4921
|
+
},
|
|
4922
4922
|
});
|
|
4923
4923
|
|
|
4924
4924
|
function render$e(_ctx, _cache, $props, $setup, $data, $options) {
|
|
@@ -5254,107 +5254,107 @@
|
|
|
5254
5254
|
};
|
|
5255
5255
|
}
|
|
5256
5256
|
|
|
5257
|
-
var script$c = vue.defineComponent({
|
|
5258
|
-
name: 'STable',
|
|
5259
|
-
emits: ['update:page', 'update:focused', 'field-updated', 'request'],
|
|
5260
|
-
components: {
|
|
5261
|
-
QTable: quasar.QTable,
|
|
5262
|
-
QInnerLoading: quasar.QInnerLoading,
|
|
5263
|
-
QTd: quasar.QTd,
|
|
5264
|
-
QIcon: quasar.QIcon,
|
|
5265
|
-
},
|
|
5266
|
-
props: {
|
|
5267
|
-
pagination: {
|
|
5268
|
-
type: Object,
|
|
5269
|
-
default: function () { return ({
|
|
5270
|
-
page: 1,
|
|
5271
|
-
rowsPerPage: 50,
|
|
5272
|
-
}); },
|
|
5273
|
-
},
|
|
5274
|
-
hideBottom: {
|
|
5275
|
-
type: Boolean,
|
|
5276
|
-
default: false,
|
|
5277
|
-
},
|
|
5278
|
-
showBottom: {
|
|
5279
|
-
type: Boolean,
|
|
5280
|
-
default: false,
|
|
5281
|
-
},
|
|
5282
|
-
noDataLabel: {
|
|
5283
|
-
type: String,
|
|
5284
|
-
default: '데이터 조회가 필요합니다',
|
|
5285
|
-
},
|
|
5286
|
-
columns: {
|
|
5287
|
-
type: Array,
|
|
5288
|
-
default: function () { return []; },
|
|
5289
|
-
},
|
|
5290
|
-
rows: {
|
|
5291
|
-
type: Array,
|
|
5292
|
-
default: function () { return []; },
|
|
5293
|
-
},
|
|
5294
|
-
resizable: {
|
|
5295
|
-
type: Boolean,
|
|
5296
|
-
default: false,
|
|
5297
|
-
},
|
|
5298
|
-
stickyHeader: {
|
|
5299
|
-
type: Boolean,
|
|
5300
|
-
default: false,
|
|
5301
|
-
},
|
|
5302
|
-
stickyResizable: {
|
|
5303
|
-
type: [Array, Number],
|
|
5304
|
-
required: false,
|
|
5305
|
-
},
|
|
5306
|
-
useSticky: {
|
|
5307
|
-
type: Boolean,
|
|
5308
|
-
default: false,
|
|
5309
|
-
},
|
|
5310
|
-
stickyColumn: {
|
|
5311
|
-
type: Object,
|
|
5312
|
-
default: function () { return ({
|
|
5313
|
-
count: 1, // sticky하고자하는 column 개수
|
|
5314
|
-
direction: 'left', // 'left' | 'right'
|
|
5315
|
-
}); },
|
|
5316
|
-
},
|
|
5317
|
-
navigator: {
|
|
5318
|
-
type: Boolean,
|
|
5319
|
-
default: false,
|
|
5320
|
-
},
|
|
5321
|
-
inputOptions: {
|
|
5322
|
-
type: Object,
|
|
5323
|
-
default: function () { return ({ type: 'number' }); },
|
|
5324
|
-
},
|
|
5325
|
-
focused: {
|
|
5326
|
-
type: Object,
|
|
5327
|
-
},
|
|
5328
|
-
noHover: {
|
|
5329
|
-
type: Boolean,
|
|
5330
|
-
default: false,
|
|
5331
|
-
},
|
|
5332
|
-
},
|
|
5257
|
+
var script$c = vue.defineComponent({
|
|
5258
|
+
name: 'STable',
|
|
5259
|
+
emits: ['update:page', 'update:focused', 'field-updated', 'request'],
|
|
5260
|
+
components: {
|
|
5261
|
+
QTable: quasar.QTable,
|
|
5262
|
+
QInnerLoading: quasar.QInnerLoading,
|
|
5263
|
+
QTd: quasar.QTd,
|
|
5264
|
+
QIcon: quasar.QIcon,
|
|
5265
|
+
},
|
|
5266
|
+
props: {
|
|
5267
|
+
pagination: {
|
|
5268
|
+
type: Object,
|
|
5269
|
+
default: function () { return ({
|
|
5270
|
+
page: 1,
|
|
5271
|
+
rowsPerPage: 50,
|
|
5272
|
+
}); },
|
|
5273
|
+
},
|
|
5274
|
+
hideBottom: {
|
|
5275
|
+
type: Boolean,
|
|
5276
|
+
default: false,
|
|
5277
|
+
},
|
|
5278
|
+
showBottom: {
|
|
5279
|
+
type: Boolean,
|
|
5280
|
+
default: false,
|
|
5281
|
+
},
|
|
5282
|
+
noDataLabel: {
|
|
5283
|
+
type: String,
|
|
5284
|
+
default: '데이터 조회가 필요합니다',
|
|
5285
|
+
},
|
|
5286
|
+
columns: {
|
|
5287
|
+
type: Array,
|
|
5288
|
+
default: function () { return []; },
|
|
5289
|
+
},
|
|
5290
|
+
rows: {
|
|
5291
|
+
type: Array,
|
|
5292
|
+
default: function () { return []; },
|
|
5293
|
+
},
|
|
5294
|
+
resizable: {
|
|
5295
|
+
type: Boolean,
|
|
5296
|
+
default: false,
|
|
5297
|
+
},
|
|
5298
|
+
stickyHeader: {
|
|
5299
|
+
type: Boolean,
|
|
5300
|
+
default: false,
|
|
5301
|
+
},
|
|
5302
|
+
stickyResizable: {
|
|
5303
|
+
type: [Array, Number],
|
|
5304
|
+
required: false,
|
|
5305
|
+
},
|
|
5306
|
+
useSticky: {
|
|
5307
|
+
type: Boolean,
|
|
5308
|
+
default: false,
|
|
5309
|
+
},
|
|
5310
|
+
stickyColumn: {
|
|
5311
|
+
type: Object,
|
|
5312
|
+
default: function () { return ({
|
|
5313
|
+
count: 1, // sticky하고자하는 column 개수
|
|
5314
|
+
direction: 'left', // 'left' | 'right'
|
|
5315
|
+
}); },
|
|
5316
|
+
},
|
|
5317
|
+
navigator: {
|
|
5318
|
+
type: Boolean,
|
|
5319
|
+
default: false,
|
|
5320
|
+
},
|
|
5321
|
+
inputOptions: {
|
|
5322
|
+
type: Object,
|
|
5323
|
+
default: function () { return ({ type: 'number' }); },
|
|
5324
|
+
},
|
|
5325
|
+
focused: {
|
|
5326
|
+
type: Object,
|
|
5327
|
+
},
|
|
5328
|
+
noHover: {
|
|
5329
|
+
type: Boolean,
|
|
5330
|
+
default: false,
|
|
5331
|
+
},
|
|
5332
|
+
},
|
|
5333
5333
|
setup: function setup(props, ref$1) {
|
|
5334
5334
|
var emit = ref$1.emit;
|
|
5335
5335
|
var attrs = ref$1.attrs;
|
|
5336
|
-
|
|
5337
|
-
var tablePagination = vue.ref(props.pagination);
|
|
5338
|
-
var paginationModel = vue.ref(props.pagination);
|
|
5339
|
-
vue.watch(
|
|
5340
|
-
function () { return props.pagination; },
|
|
5341
|
-
function (newValue) {
|
|
5342
|
-
paginationModel.value = Object.assign({}, newValue);
|
|
5343
|
-
tablePagination.value = Object.assign({}, newValue);
|
|
5344
|
-
if (props.pagination.lastPage) { tablePagination.value.page = 1; }
|
|
5345
|
-
},
|
|
5346
|
-
{ deep: true }
|
|
5347
|
-
);
|
|
5348
|
-
|
|
5349
|
-
function updatePagination(val) {
|
|
5350
|
-
emit('update:page', val);
|
|
5351
|
-
if (!props.pagination.lastPage) {
|
|
5352
|
-
tablePagination.value.page = val;
|
|
5353
|
-
}
|
|
5354
|
-
}
|
|
5355
|
-
|
|
5356
|
-
var sTableRef = vue.ref(null);
|
|
5357
|
-
var ref$2 =
|
|
5336
|
+
|
|
5337
|
+
var tablePagination = vue.ref(props.pagination);
|
|
5338
|
+
var paginationModel = vue.ref(props.pagination);
|
|
5339
|
+
vue.watch(
|
|
5340
|
+
function () { return props.pagination; },
|
|
5341
|
+
function (newValue) {
|
|
5342
|
+
paginationModel.value = Object.assign({}, newValue);
|
|
5343
|
+
tablePagination.value = Object.assign({}, newValue);
|
|
5344
|
+
if (props.pagination.lastPage) { tablePagination.value.page = 1; }
|
|
5345
|
+
},
|
|
5346
|
+
{ deep: true }
|
|
5347
|
+
);
|
|
5348
|
+
|
|
5349
|
+
function updatePagination(val) {
|
|
5350
|
+
emit('update:page', val);
|
|
5351
|
+
if (!props.pagination.lastPage) {
|
|
5352
|
+
tablePagination.value.page = val;
|
|
5353
|
+
}
|
|
5354
|
+
}
|
|
5355
|
+
|
|
5356
|
+
var sTableRef = vue.ref(null);
|
|
5357
|
+
var ref$2 =
|
|
5358
5358
|
useNavigator(props, attrs, emit);
|
|
5359
5359
|
var focusCell = ref$2.focusCell;
|
|
5360
5360
|
var isFocused = ref$2.isFocused;
|
|
@@ -5362,106 +5362,118 @@
|
|
|
5362
5362
|
var inputRef = ref$2.inputRef;
|
|
5363
5363
|
var inputData = ref$2.inputData;
|
|
5364
5364
|
var closeInput = ref$2.closeInput;
|
|
5365
|
-
var editIcon = ref$2.editIcon;
|
|
5366
|
-
function updateSelected(details) {
|
|
5367
|
-
if (details.added && details.evt && details.evt.shiftKey) {
|
|
5368
|
-
var idx = props.rows.findIndex(function (r) { return r === details.rows[0]; });
|
|
5369
|
-
var lastIdx = attrs.selected
|
|
5370
|
-
.map(function (x) { return props.rows.findIndex(function (y) { return y === x; }); })
|
|
5371
|
-
.filter(function (v) { return v < idx; })
|
|
5372
|
-
.reduce(function (a, b) { return (Math.abs(b - idx) < Math.abs(a - idx) ? b : a); });
|
|
5373
|
-
for (var i = lastIdx + 1; i < idx; i++) {
|
|
5374
|
-
attrs.selected.push(props.rows[i]);
|
|
5375
|
-
}
|
|
5376
|
-
}
|
|
5377
|
-
}
|
|
5378
|
-
|
|
5379
|
-
// 스크롤 그림자 로직
|
|
5380
|
-
var isTableScrolled = vue.ref(false);
|
|
5381
|
-
function detectHorizontalScroll(tableScrollArea) {
|
|
5365
|
+
var editIcon = ref$2.editIcon;
|
|
5366
|
+
function updateSelected(details) {
|
|
5367
|
+
if (details.added && details.evt && details.evt.shiftKey) {
|
|
5368
|
+
var idx = props.rows.findIndex(function (r) { return r === details.rows[0]; });
|
|
5369
|
+
var lastIdx = attrs.selected
|
|
5370
|
+
.map(function (x) { return props.rows.findIndex(function (y) { return y === x; }); })
|
|
5371
|
+
.filter(function (v) { return v < idx; })
|
|
5372
|
+
.reduce(function (a, b) { return (Math.abs(b - idx) < Math.abs(a - idx) ? b : a); });
|
|
5373
|
+
for (var i = lastIdx + 1; i < idx; i++) {
|
|
5374
|
+
attrs.selected.push(props.rows[i]);
|
|
5375
|
+
}
|
|
5376
|
+
}
|
|
5377
|
+
}
|
|
5378
|
+
|
|
5379
|
+
// 스크롤 그림자 로직
|
|
5380
|
+
var isTableScrolled = vue.ref(false);
|
|
5381
|
+
function detectHorizontalScroll(tableScrollArea) {
|
|
5382
5382
|
var getScrollTarget = quasar.scroll.getScrollTarget;
|
|
5383
|
-
var getHorizontalScrollPosition = quasar.scroll.getHorizontalScrollPosition;
|
|
5384
|
-
var scrollTarget = getScrollTarget(tableScrollArea);
|
|
5385
|
-
var isStickyLeft = props.stickyColumn.direction === 'left';
|
|
5386
|
-
|
|
5387
|
-
tableScrollArea.addEventListener('scroll', function () {
|
|
5388
|
-
var scrollPosition = getHorizontalScrollPosition(scrollTarget);
|
|
5389
|
-
|
|
5390
|
-
if (isStickyLeft) {
|
|
5391
|
-
isTableScrolled.value = scrollPosition > 10; // 오른쪽 고정일 때에 스크롤 위치 계산하는 로직 수정 필요
|
|
5392
|
-
} else {
|
|
5393
|
-
isTableScrolled.value =
|
|
5394
|
-
tableScrollArea.scrollWidth - tableScrollArea.clientWidth - scrollPosition > 10;
|
|
5395
|
-
}
|
|
5396
|
-
});
|
|
5397
|
-
}
|
|
5398
|
-
|
|
5399
|
-
function detectWindowResize(tableElement, tableScrollArea) {
|
|
5400
|
-
window.addEventListener('resize', function () {
|
|
5401
|
-
var table = tableElement.getElementsByClassName('q-table')[0];
|
|
5402
|
-
|
|
5403
|
-
if (table.offsetWidth > tableScrollArea.offsetWidth) {
|
|
5404
|
-
isTableScrolled.value = true;
|
|
5405
|
-
} else {
|
|
5406
|
-
isTableScrolled.value = false;
|
|
5407
|
-
}
|
|
5408
|
-
});
|
|
5409
|
-
}
|
|
5410
|
-
|
|
5411
|
-
|
|
5383
|
+
var getHorizontalScrollPosition = quasar.scroll.getHorizontalScrollPosition;
|
|
5384
|
+
var scrollTarget = getScrollTarget(tableScrollArea);
|
|
5385
|
+
var isStickyLeft = props.stickyColumn.direction === 'left';
|
|
5386
|
+
|
|
5387
|
+
tableScrollArea.addEventListener('scroll', function () {
|
|
5388
|
+
var scrollPosition = getHorizontalScrollPosition(scrollTarget);
|
|
5389
|
+
|
|
5390
|
+
if (isStickyLeft) {
|
|
5391
|
+
isTableScrolled.value = scrollPosition > 10; // 오른쪽 고정일 때에 스크롤 위치 계산하는 로직 수정 필요
|
|
5392
|
+
} else {
|
|
5393
|
+
isTableScrolled.value =
|
|
5394
|
+
tableScrollArea.scrollWidth - tableScrollArea.clientWidth - scrollPosition > 10;
|
|
5395
|
+
}
|
|
5396
|
+
});
|
|
5397
|
+
}
|
|
5398
|
+
|
|
5399
|
+
function detectWindowResize(tableElement, tableScrollArea) {
|
|
5400
|
+
window.addEventListener('resize', function () {
|
|
5401
|
+
var table = tableElement.getElementsByClassName('q-table')[0];
|
|
5402
|
+
|
|
5403
|
+
if (table.offsetWidth > tableScrollArea.offsetWidth) {
|
|
5404
|
+
isTableScrolled.value = true;
|
|
5405
|
+
} else {
|
|
5406
|
+
isTableScrolled.value = false;
|
|
5407
|
+
}
|
|
5408
|
+
});
|
|
5409
|
+
}
|
|
5410
|
+
|
|
5411
|
+
function handleColumns() {
|
|
5412
5412
|
var ref = useResizable();
|
|
5413
5413
|
var addResizable = ref.addResizable;
|
|
5414
5414
|
var addStickyResizable = ref.addStickyResizable;
|
|
5415
|
-
var addSticky = ref.addSticky;
|
|
5416
|
-
var tableElement = sTableRef.value.$el;
|
|
5417
|
-
var isStickyLeft = props.stickyColumn.direction === 'left';
|
|
5415
|
+
var addSticky = ref.addSticky;
|
|
5416
|
+
var tableElement = function () { return sTableRef.value.$el; };
|
|
5417
|
+
var isStickyLeft = props.stickyColumn.direction === 'left';
|
|
5418
5418
|
var ref$1 = props.stickyColumn;
|
|
5419
5419
|
var count = ref$1.count;
|
|
5420
|
-
ref$1.direction;
|
|
5421
|
-
|
|
5422
|
-
if (props.useSticky) {
|
|
5423
|
-
addSticky(tableElement, isStickyLeft, count);
|
|
5424
|
-
}
|
|
5425
|
-
if (props.resizable) {
|
|
5426
|
-
var stickyCount = props.useSticky && !isStickyLeft ? count : 0;
|
|
5427
|
-
|
|
5428
|
-
|
|
5429
|
-
|
|
5430
|
-
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
var
|
|
5435
|
-
|
|
5436
|
-
|
|
5437
|
-
|
|
5438
|
-
|
|
5439
|
-
|
|
5440
|
-
|
|
5441
|
-
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
|
|
5420
|
+
ref$1.direction;
|
|
5421
|
+
|
|
5422
|
+
if (props.useSticky) {
|
|
5423
|
+
addSticky(tableElement(), isStickyLeft, count);
|
|
5424
|
+
}
|
|
5425
|
+
if (props.resizable) {
|
|
5426
|
+
var stickyCount = props.useSticky && !isStickyLeft ? count : 0;
|
|
5427
|
+
addResizable(tableElement(), isStickyLeft, stickyCount, props.useSticky);
|
|
5428
|
+
}
|
|
5429
|
+
if (props.stickyResizable) {
|
|
5430
|
+
addStickyResizable(tableElement(), props.stickyResizable);
|
|
5431
|
+
}
|
|
5432
|
+
|
|
5433
|
+
var tableScrollArea = tableElement().getElementsByClassName('q-table__middle')[0];
|
|
5434
|
+
var isScrollbarAppear = tableScrollArea.scrollWidth > tableScrollArea.clientWidth;
|
|
5435
|
+
|
|
5436
|
+
if (!isStickyLeft && isScrollbarAppear) {
|
|
5437
|
+
isTableScrolled.value = true;
|
|
5438
|
+
}
|
|
5439
|
+
|
|
5440
|
+
detectHorizontalScroll(tableScrollArea);
|
|
5441
|
+
detectWindowResize(tableElement(), tableScrollArea);
|
|
5442
|
+
}
|
|
5443
|
+
|
|
5444
|
+
vue.onMounted(function () {
|
|
5445
|
+
handleColumns();
|
|
5446
|
+
});
|
|
5447
|
+
|
|
5448
|
+
vue.watch(
|
|
5449
|
+
function () { return props.columns; },
|
|
5450
|
+
function () {
|
|
5451
|
+
vue.nextTick(function () {
|
|
5452
|
+
handleColumns();
|
|
5453
|
+
});
|
|
5454
|
+
}
|
|
5455
|
+
);
|
|
5456
|
+
|
|
5457
|
+
return {
|
|
5458
|
+
sTableRef: sTableRef,
|
|
5459
|
+
focusCell: focusCell,
|
|
5460
|
+
isFocused: isFocused,
|
|
5461
|
+
editing: editing,
|
|
5462
|
+
inputRef: inputRef,
|
|
5463
|
+
inputData: inputData,
|
|
5464
|
+
closeInput: closeInput,
|
|
5465
|
+
editIcon: editIcon,
|
|
5466
|
+
updateSelected: updateSelected,
|
|
5467
|
+
isTableScrolled: isTableScrolled,
|
|
5468
|
+
tablePagination: tablePagination,
|
|
5469
|
+
paginationModel: paginationModel,
|
|
5470
|
+
pagesNumber: vue.computed(
|
|
5471
|
+
function () { return props.pagination.lastPage ||
|
|
5472
|
+
Math.ceil(props.rows.length / paginationModel.value.rowsPerPage); }
|
|
5473
|
+
),
|
|
5474
|
+
updatePagination: updatePagination,
|
|
5475
|
+
};
|
|
5476
|
+
},
|
|
5465
5477
|
});
|
|
5466
5478
|
|
|
5467
5479
|
var _hoisted_1$a = { class: "full-width text-center" };
|
|
@@ -5492,21 +5504,21 @@
|
|
|
5492
5504
|
pagination: _ctx.tablePagination,
|
|
5493
5505
|
"onUpdate:pagination": _cache[1] || (_cache[1] = function ($event) { return ((_ctx.tablePagination) = $event); }),
|
|
5494
5506
|
"no-data-label": _ctx.noDataLabel,
|
|
5495
|
-
class: ["s-table", ( obj = {
|
|
5496
|
-
's-select-table': _ctx.$attrs.selection,
|
|
5497
|
-
'resizable-table': _ctx.resizable,
|
|
5498
|
-
'sticky-resizable-table': _ctx.stickyResizable,
|
|
5499
|
-
'sticky-header': _ctx.stickyHeader,
|
|
5500
|
-
'before-search': !_ctx.rows.length,
|
|
5501
|
-
'horizontally-scrolled': _ctx.isTableScrolled,
|
|
5502
|
-
's-table__hover': !_ctx.noHover
|
|
5507
|
+
class: ["s-table", ( obj = {
|
|
5508
|
+
's-select-table': _ctx.$attrs.selection,
|
|
5509
|
+
'resizable-table': _ctx.resizable,
|
|
5510
|
+
'sticky-resizable-table': _ctx.stickyResizable,
|
|
5511
|
+
'sticky-header': _ctx.stickyHeader,
|
|
5512
|
+
'before-search': !_ctx.rows.length,
|
|
5513
|
+
'horizontally-scrolled': _ctx.isTableScrolled,
|
|
5514
|
+
's-table__hover': !_ctx.noHover
|
|
5503
5515
|
}, obj[("sticky-" + (_ctx.stickyColumn.direction) + "-table")] = _ctx.stickyColumn, obj )],
|
|
5504
5516
|
onSelection: _ctx.updateSelected,
|
|
5505
5517
|
ref: "sTableRef",
|
|
5506
|
-
onRequest: _cache[2] || (_cache[2] =
|
|
5507
|
-
function (props) {
|
|
5508
|
-
_ctx.$emit('request', props);
|
|
5509
|
-
}
|
|
5518
|
+
onRequest: _cache[2] || (_cache[2] =
|
|
5519
|
+
function (props) {
|
|
5520
|
+
_ctx.$emit('request', props);
|
|
5521
|
+
}
|
|
5510
5522
|
)
|
|
5511
5523
|
}), vue.createSlots({
|
|
5512
5524
|
"no-data": vue.withCtx(function (props) { return [
|
|
@@ -5533,16 +5545,16 @@
|
|
|
5533
5545
|
(_ctx.navigator)
|
|
5534
5546
|
? (vue.openBlock(), vue.createBlock(_component_q_td, {
|
|
5535
5547
|
key: 0,
|
|
5536
|
-
class: vue.normalizeClass(( obj = {
|
|
5537
|
-
focused: _ctx.isFocused(props),
|
|
5538
|
-
'text-center': props.col.align === 'center',
|
|
5539
|
-
'text-right': props.col.align === 'right'
|
|
5540
|
-
}, obj[typeof props.col.classes === 'function'
|
|
5541
|
-
? props.col.classes(props.row)
|
|
5542
|
-
: props.col.classes] = true, obj[typeof props.row.class === 'function'
|
|
5543
|
-
? props.row.class(props.row)
|
|
5544
|
-
: typeof props.row.class === 'string'
|
|
5545
|
-
? props.row.class
|
|
5548
|
+
class: vue.normalizeClass(( obj = {
|
|
5549
|
+
focused: _ctx.isFocused(props),
|
|
5550
|
+
'text-center': props.col.align === 'center',
|
|
5551
|
+
'text-right': props.col.align === 'right'
|
|
5552
|
+
}, obj[typeof props.col.classes === 'function'
|
|
5553
|
+
? props.col.classes(props.row)
|
|
5554
|
+
: props.col.classes] = true, obj[typeof props.row.class === 'function'
|
|
5555
|
+
? props.row.class(props.row)
|
|
5556
|
+
: typeof props.row.class === 'string'
|
|
5557
|
+
? props.row.class
|
|
5546
5558
|
: ''] = true, obj )),
|
|
5547
5559
|
style: vue.normalizeStyle(props.col.style),
|
|
5548
5560
|
onClick: vue.withModifiers(function ($event) { return (_ctx.focusCell(props)); }, ["stop"])
|
|
@@ -5574,15 +5586,15 @@
|
|
|
5574
5586
|
_: 2
|
|
5575
5587
|
}, 1032, ["class", "style", "onClick"]))
|
|
5576
5588
|
: (vue.openBlock(), vue.createBlock(_component_q_td, vue.mergeProps({ key: 1 }, props, {
|
|
5577
|
-
class: ( obj$1 = {
|
|
5578
|
-
'text-center': props.col.align === 'center',
|
|
5579
|
-
'text-right': props.col.align === 'right'
|
|
5580
|
-
}, obj$1[typeof props.col.classes === 'function'
|
|
5581
|
-
? props.col.classes(props.row)
|
|
5582
|
-
: props.col.classes] = true, obj$1[typeof props.row.class === 'function'
|
|
5583
|
-
? props.row.class(props.row)
|
|
5584
|
-
: typeof props.row.class === 'string'
|
|
5585
|
-
? props.row.class
|
|
5589
|
+
class: ( obj$1 = {
|
|
5590
|
+
'text-center': props.col.align === 'center',
|
|
5591
|
+
'text-right': props.col.align === 'right'
|
|
5592
|
+
}, obj$1[typeof props.col.classes === 'function'
|
|
5593
|
+
? props.col.classes(props.row)
|
|
5594
|
+
: props.col.classes] = true, obj$1[typeof props.row.class === 'function'
|
|
5595
|
+
? props.row.class(props.row)
|
|
5596
|
+
: typeof props.row.class === 'string'
|
|
5597
|
+
? props.row.class
|
|
5586
5598
|
: ''] = true, obj$1 ),
|
|
5587
5599
|
style: props.col.style
|
|
5588
5600
|
}), {
|
|
@@ -8507,7 +8519,7 @@
|
|
|
8507
8519
|
|
|
8508
8520
|
/* eslint-disable no-multiple-empty-lines */
|
|
8509
8521
|
|
|
8510
|
-
var version = '3.
|
|
8522
|
+
var version = '3.11.1';
|
|
8511
8523
|
|
|
8512
8524
|
function install(app) {
|
|
8513
8525
|
app.component('s-badge', script$2);
|