quasar-ui-sellmate-ui-kit 3.2.20 → 3.3.0
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 +28 -35
- package/dist/index.umd.min.js +2 -2
- package/package.json +1 -1
- package/src/components/SEditor.vue +27 -33
- package/src/components/STable.vue +7 -1
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
v-model="value"
|
|
25
25
|
dense
|
|
26
26
|
outlined
|
|
27
|
-
:placeholder="
|
|
27
|
+
:placeholder="imgInputPlaceholder"
|
|
28
28
|
autogrow
|
|
29
29
|
autofocus
|
|
30
30
|
/>
|
|
@@ -60,17 +60,15 @@
|
|
|
60
60
|
toolbar: {
|
|
61
61
|
type: Array,
|
|
62
62
|
validator: v => v.length === 0 || v.every(group => group.length),
|
|
63
|
-
default()
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
];
|
|
73
|
-
},
|
|
63
|
+
default: () => [
|
|
64
|
+
['left', 'center', 'right', 'justify'],
|
|
65
|
+
['bold', 'italic', 'underline', 'strike'],
|
|
66
|
+
['link', 'hr'],
|
|
67
|
+
['fontSizes', 'removeFormat'],
|
|
68
|
+
['unordered', 'ordered', 'outdent', 'indent'],
|
|
69
|
+
['undo', 'redo'],
|
|
70
|
+
['viewsource'],
|
|
71
|
+
],
|
|
74
72
|
},
|
|
75
73
|
defaultFontSize: {
|
|
76
74
|
type: Number,
|
|
@@ -96,19 +94,15 @@
|
|
|
96
94
|
type: String,
|
|
97
95
|
required: true,
|
|
98
96
|
},
|
|
99
|
-
|
|
97
|
+
useImgUpload: {
|
|
100
98
|
type: Boolean,
|
|
101
|
-
default:
|
|
99
|
+
default: false,
|
|
102
100
|
},
|
|
103
101
|
imgInputPlaceholder: {
|
|
104
102
|
type: String,
|
|
105
103
|
default:
|
|
106
104
|
'이미지 파일 경로를 엔터키로 구분하여 여러개 입력할 수 있습니다.\n예시)\nhttps://www.sellmate.co.kr/img/new/logo01.png\nhttps://www.sellmate.co.kr/img/new/logo02.png\nhttps://www.sellmate.co.kr/img/new/logo03.png',
|
|
107
105
|
},
|
|
108
|
-
useListOpts: {
|
|
109
|
-
type: Boolean,
|
|
110
|
-
default: false,
|
|
111
|
-
},
|
|
112
106
|
usePlaintextPasting: {
|
|
113
107
|
type: Boolean,
|
|
114
108
|
default: false,
|
|
@@ -119,7 +113,6 @@
|
|
|
119
113
|
const $q = useQuasar();
|
|
120
114
|
|
|
121
115
|
// Toolbar Begin
|
|
122
|
-
const placeholder = ref(props.imgInputPlaceholder);
|
|
123
116
|
const isOpened = ref(false);
|
|
124
117
|
const value = ref('');
|
|
125
118
|
|
|
@@ -130,9 +123,9 @@
|
|
|
130
123
|
function setFontSize(fontSize) {
|
|
131
124
|
function isRootNode(node) {
|
|
132
125
|
return (
|
|
133
|
-
node.nodeType !== Node.TEXT_NODE
|
|
134
|
-
|
|
135
|
-
|
|
126
|
+
node.nodeType !== Node.TEXT_NODE &&
|
|
127
|
+
(node.className.indexOf('q-editor__content') >= 0 ||
|
|
128
|
+
node.hasAttribute('contenteditable'))
|
|
136
129
|
);
|
|
137
130
|
}
|
|
138
131
|
|
|
@@ -163,9 +156,9 @@
|
|
|
163
156
|
function getNonTextNode(top, node) {
|
|
164
157
|
const parent = node.parentNode;
|
|
165
158
|
if (
|
|
166
|
-
top !== parent
|
|
167
|
-
|
|
168
|
-
|
|
159
|
+
top !== parent &&
|
|
160
|
+
Array.from(parent.childNodes).length === 1 &&
|
|
161
|
+
parent.childNodes[0] === node
|
|
169
162
|
) {
|
|
170
163
|
return parent;
|
|
171
164
|
}
|
|
@@ -246,9 +239,8 @@
|
|
|
246
239
|
const wrapperNode = wrapAndReplaceRange(range);
|
|
247
240
|
wrapperNode.style.fontSize = fontSizeStyle;
|
|
248
241
|
} else {
|
|
249
|
-
const targetNode =
|
|
250
|
-
? wrapAndReplaceTextNodeRange(topNode)
|
|
251
|
-
: topNode;
|
|
242
|
+
const targetNode =
|
|
243
|
+
topNode.nodeType === Node.TEXT_NODE ? wrapAndReplaceTextNodeRange(topNode) : topNode;
|
|
252
244
|
targetNode.style.fontSize = fontSizeStyle;
|
|
253
245
|
selection.extend(targetNode.childNodes[0], targetNode.textContent.length);
|
|
254
246
|
}
|
|
@@ -273,9 +265,8 @@
|
|
|
273
265
|
// selection.extend(end, range.endOffset);
|
|
274
266
|
applyStyleForward(fontSizeStyle, topNode, startWrapper);
|
|
275
267
|
} else {
|
|
276
|
-
const firstNode =
|
|
277
|
-
? getNonTextNode(topNode, start)
|
|
278
|
-
: start;
|
|
268
|
+
const firstNode =
|
|
269
|
+
start.nodeType === Node.TEXT_NODE ? getNonTextNode(topNode, start) : start;
|
|
279
270
|
firstNode.style.fontSize = fontSizeStyle;
|
|
280
271
|
if (start !== startNode) applyStyleForward(fontSizeStyle, topNode, firstNode);
|
|
281
272
|
}
|
|
@@ -400,7 +391,11 @@
|
|
|
400
391
|
options: ['size1', 'size2', 'size3', 'size4', 'size5', 'size6'],
|
|
401
392
|
};
|
|
402
393
|
|
|
403
|
-
const toolbarDefinitions = props.
|
|
394
|
+
const toolbarDefinitions = props.useImgUpload
|
|
395
|
+
? [...props.toolbar, ['upload']]
|
|
396
|
+
: [...props.toolbar].map(group =>
|
|
397
|
+
group.map(item => (item === 'fontSizes' ? fontSizes : item)),
|
|
398
|
+
);
|
|
404
399
|
|
|
405
400
|
function onOkClick() {
|
|
406
401
|
value.value.split('\n').forEach((el, idx) => {
|
|
@@ -456,7 +451,6 @@
|
|
|
456
451
|
isOpened,
|
|
457
452
|
model,
|
|
458
453
|
value,
|
|
459
|
-
placeholder,
|
|
460
454
|
uploadImage,
|
|
461
455
|
onOkClick,
|
|
462
456
|
onPaste,
|
|
@@ -267,15 +267,21 @@
|
|
|
267
267
|
white-space: nowrap;
|
|
268
268
|
|
|
269
269
|
.sort-icon {
|
|
270
|
+
color: $Grey_Lighten-1;
|
|
271
|
+
font-size: 16px;
|
|
272
|
+
opacity: 1;
|
|
270
273
|
&.desc-sort {
|
|
271
274
|
transform: rotate(180deg);
|
|
272
275
|
}
|
|
273
276
|
transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.5, 1);
|
|
274
277
|
}
|
|
275
278
|
|
|
279
|
+
// NOTE: 해당 sortable은 퀘이사에서 기본적으로 사용하는 기능
|
|
280
|
+
// 차후 slot 방식으로 사용할경우 해당 방식으로 사용 X
|
|
281
|
+
// slot 방식으로 사용할 경우 .sort-icon으로만 사용 예정
|
|
276
282
|
&.sortable {
|
|
277
|
-
display: none;
|
|
278
283
|
> .q-table__sort-icon {
|
|
284
|
+
//display: none;
|
|
279
285
|
color: $Grey_Lighten-1;
|
|
280
286
|
font-size: 16px;
|
|
281
287
|
opacity: 1;
|