@cmstops/pro-compo 0.3.100 → 3.0.0-stable.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.css +45 -4
- package/dist/index.min.css +1 -1
- package/es/baseFilter/component.js +71 -14
- package/es/config.js +1 -1
- package/es/contentDetailList/component.js +24 -0
- package/es/contentDetailList/components/Content/index.js +2 -1
- package/es/contentDetailList/components/Doc/index.js +6 -0
- package/es/hooks/useAttachement.d.ts +26 -7
- package/es/hooks/useAttachement.js +42 -2
- package/es/hooks/usePopper.d.ts +1 -1
- package/es/hooks/usePopper.js +3 -3
- package/es/hooks/useUpload.d.ts +50 -2
- package/es/hooks/useUpload.js +43 -4
- package/es/index.css +45 -4
- package/es/selectResourceModal/__demo__/module/DivWrapper.d.ts +268 -0
- package/es/selectResourceModal/__demo__/module/basic.d.ts +299 -0
- package/es/selectResourceModal/components/List/ListLocal/index.js +8 -3
- package/es/selectResourceModal/components/List/ListNormal/Filter.js +206 -79
- package/es/selectResourceModal/components/List/ListNormal/index.js +23 -7
- package/es/selectResourceModal/hooks/useResponsiveFilter.d.ts +21 -0
- package/es/selectResourceModal/hooks/useResponsiveFilter.js +142 -0
- package/es/selectResourceModal/scripts/useCompoLf.js +1 -1
- package/es/selectResourceModal/style/index.css +45 -4
- package/es/selectResourceModal/style/index.less +14 -0
- package/es/selectResourceModal/style/list.less +40 -4
- package/es/selectThumb/component.js +57 -3
- package/es/utils/index.js +6 -6
- package/lib/baseFilter/component.js +69 -12
- package/lib/config.js +1 -1
- package/lib/contentDetailList/component.js +24 -0
- package/lib/contentDetailList/components/Content/index.js +2 -1
- package/lib/contentDetailList/components/Doc/index.js +6 -0
- package/lib/hooks/useAttachement.js +42 -0
- package/lib/hooks/usePopper.js +3 -3
- package/lib/hooks/useUpload.js +43 -3
- package/lib/index.css +45 -4
- package/lib/selectResourceModal/components/List/ListLocal/index.js +6 -1
- package/lib/selectResourceModal/components/List/ListNormal/Filter.js +203 -76
- package/lib/selectResourceModal/components/List/ListNormal/index.js +22 -6
- package/lib/selectResourceModal/hooks/useResponsiveFilter.js +144 -0
- package/lib/selectResourceModal/scripts/useCompoLf.js +1 -1
- package/lib/selectResourceModal/style/index.css +45 -4
- package/lib/selectResourceModal/style/index.less +14 -0
- package/lib/selectResourceModal/style/list.less +40 -4
- package/lib/selectThumb/component.js +56 -2
- package/lib/utils/index.js +6 -6
- package/package.json +1 -1
package/lib/hooks/useUpload.js
CHANGED
|
@@ -75,7 +75,7 @@ function useUpload(options) {
|
|
|
75
75
|
list.value = originList;
|
|
76
76
|
}
|
|
77
77
|
};
|
|
78
|
-
const uploadFile = (BASE_API, file, dir = 0, repoId, callback) => {
|
|
78
|
+
const uploadFile = (BASE_API, file, dir = 0, repoId, callback, upOptions) => {
|
|
79
79
|
const newFile = {
|
|
80
80
|
id: file.id || index.generateUUID(),
|
|
81
81
|
sig_id: file.sig_id || index.generateUUID(),
|
|
@@ -95,18 +95,24 @@ function useUpload(options) {
|
|
|
95
95
|
};
|
|
96
96
|
const uploading = upload.start(progress);
|
|
97
97
|
uploading.then(async (url) => {
|
|
98
|
+
var _a;
|
|
98
99
|
if (options == null ? void 0 : options.noAddMedia) {
|
|
99
100
|
recordTaskStatusChange({ ...newFile, status: 0, url }, 1);
|
|
100
101
|
callback && callback({ ...newFile, url }, "success");
|
|
101
102
|
return;
|
|
102
103
|
}
|
|
104
|
+
const params = {};
|
|
105
|
+
if ((_a = upOptions == null ? void 0 : upOptions.template) == null ? void 0 : _a.watermark) {
|
|
106
|
+
params.watermark = upOptions.template.watermark.default;
|
|
107
|
+
}
|
|
103
108
|
const { code, message } = await addMedia(BASE_API, {
|
|
104
109
|
url,
|
|
105
110
|
size: newFile.size,
|
|
106
111
|
directory_id: dir,
|
|
107
112
|
repository_id: repoId,
|
|
108
113
|
catalog: newFile.type,
|
|
109
|
-
alias: newFile.name
|
|
114
|
+
alias: newFile.name,
|
|
115
|
+
...params
|
|
110
116
|
});
|
|
111
117
|
if (code !== 0) {
|
|
112
118
|
console.log("\u{1F525}\u{1F525}\u{1F525}\u{1F525}\u{1F525} \u4E0A\u4F20\u5931\u8D25\uFF1A", newFile.name, code, message);
|
|
@@ -196,9 +202,16 @@ function getConfiguration(BASE_API, params) {
|
|
|
196
202
|
params
|
|
197
203
|
});
|
|
198
204
|
}
|
|
205
|
+
function getWatermarkTemplate(BASE_API) {
|
|
206
|
+
return request(BASE_API, {
|
|
207
|
+
url: `/poplar/v2/material/image/watermark`,
|
|
208
|
+
method: "get"
|
|
209
|
+
});
|
|
210
|
+
}
|
|
199
211
|
function useUploadConfig() {
|
|
200
212
|
const { get, set, remove } = useLocalStorage["default"]("LOCAL_UPLOAD_CONFIG");
|
|
201
213
|
const config = vue.ref(get() || {});
|
|
214
|
+
const template = vue.ref({});
|
|
202
215
|
async function initUploadConfig(BASE_API, domainId) {
|
|
203
216
|
if (config.value.size_config_enabled != null)
|
|
204
217
|
return;
|
|
@@ -247,16 +260,43 @@ function useUploadConfig() {
|
|
|
247
260
|
);
|
|
248
261
|
return false;
|
|
249
262
|
}
|
|
263
|
+
async function initTemplate(BASE_API) {
|
|
264
|
+
try {
|
|
265
|
+
const { code, message } = await getWatermarkTemplate(BASE_API);
|
|
266
|
+
if (code !== 0)
|
|
267
|
+
return;
|
|
268
|
+
if (message) {
|
|
269
|
+
let defaultWaterMark;
|
|
270
|
+
if (Array.isArray(message.images)) {
|
|
271
|
+
message.images.forEach((item) => {
|
|
272
|
+
if (message.default === item.id)
|
|
273
|
+
defaultWaterMark = item;
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
template.value = {
|
|
277
|
+
watermark: {
|
|
278
|
+
default: defaultWaterMark,
|
|
279
|
+
images: message.images
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
} catch (e) {
|
|
284
|
+
console.error(e);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
250
287
|
window.addEventListener("beforeunload", remove, false);
|
|
251
288
|
return {
|
|
252
289
|
config,
|
|
290
|
+
template,
|
|
253
291
|
checkFileSizeOutLimit,
|
|
254
|
-
initUploadConfig
|
|
292
|
+
initUploadConfig,
|
|
293
|
+
initTemplate
|
|
255
294
|
};
|
|
256
295
|
}
|
|
257
296
|
exports.addMedia = addMedia;
|
|
258
297
|
exports["default"] = useUpload;
|
|
259
298
|
exports.getMediaDetails = getMediaDetails;
|
|
260
299
|
exports.getSize = getSize;
|
|
300
|
+
exports.getWatermarkTemplate = getWatermarkTemplate;
|
|
261
301
|
exports.reTranscodeMedia = reTranscodeMedia;
|
|
262
302
|
exports.useUploadConfig = useUploadConfig;
|
package/lib/index.css
CHANGED
|
@@ -4529,11 +4529,13 @@
|
|
|
4529
4529
|
}
|
|
4530
4530
|
.resource-list-footer,
|
|
4531
4531
|
.resource-list-header,
|
|
4532
|
+
.resource-list-content .resource-list-content-empty,
|
|
4532
4533
|
.resource-list-content .arco-scrollbar-container {
|
|
4533
4534
|
padding: 0 40px;
|
|
4534
4535
|
}
|
|
4535
4536
|
.resource-list-footer {
|
|
4536
4537
|
display: flex;
|
|
4538
|
+
flex-wrap: wrap;
|
|
4537
4539
|
justify-content: space-between;
|
|
4538
4540
|
padding-bottom: 20px;
|
|
4539
4541
|
}
|
|
@@ -4543,6 +4545,10 @@
|
|
|
4543
4545
|
gap: 10px;
|
|
4544
4546
|
align-items: center;
|
|
4545
4547
|
justify-content: flex-end;
|
|
4548
|
+
margin-top: 10px;
|
|
4549
|
+
}
|
|
4550
|
+
.resource-list-footer .footer-right .list-selected-wrapper {
|
|
4551
|
+
font-size: 12px;
|
|
4546
4552
|
}
|
|
4547
4553
|
.resource-list-content-loading {
|
|
4548
4554
|
display: flex;
|
|
@@ -4554,7 +4560,7 @@
|
|
|
4554
4560
|
.resource-list .list-item-grid {
|
|
4555
4561
|
display: grid;
|
|
4556
4562
|
grid-gap: 20px;
|
|
4557
|
-
grid-template-columns: repeat(
|
|
4563
|
+
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
4558
4564
|
}
|
|
4559
4565
|
.resource-list .list-content {
|
|
4560
4566
|
margin-top: 30px;
|
|
@@ -4597,7 +4603,8 @@
|
|
|
4597
4603
|
}
|
|
4598
4604
|
.resource-list .list-filter-wrapper .list-filter-tags {
|
|
4599
4605
|
display: flex;
|
|
4600
|
-
|
|
4606
|
+
flex-wrap: wrap;
|
|
4607
|
+
gap: 10px;
|
|
4601
4608
|
margin-top: 10px;
|
|
4602
4609
|
}
|
|
4603
4610
|
.resource-list .list-filter-wrapper .list-filter-tags .list-filter-tag {
|
|
@@ -4618,16 +4625,41 @@
|
|
|
4618
4625
|
justify-content: space-between;
|
|
4619
4626
|
}
|
|
4620
4627
|
.resource-list .list-filter-wrapper .list-filter .filter-list {
|
|
4628
|
+
position: relative;
|
|
4629
|
+
/** 给 popup 一个参考 */
|
|
4621
4630
|
display: flex;
|
|
4622
|
-
flex-wrap: wrap;
|
|
4623
|
-
gap: 10px;
|
|
4624
4631
|
}
|
|
4625
4632
|
.resource-list .list-filter-wrapper .list-filter .filter-list .filter-item {
|
|
4626
4633
|
width: 100px;
|
|
4634
|
+
margin-right: 10px;
|
|
4635
|
+
}
|
|
4636
|
+
.resource-list .list-filter-wrapper .list-filter .filter-list .arco-trigger-popup {
|
|
4637
|
+
z-index: 100000 !important;
|
|
4627
4638
|
}
|
|
4628
4639
|
.resource-list .list-filter-wrapper .list-filter .arco-input-prepend {
|
|
4629
4640
|
padding: 0;
|
|
4630
4641
|
}
|
|
4642
|
+
.resource-list .list-filter-wrapper .list-filter .more-btn {
|
|
4643
|
+
position: relative;
|
|
4644
|
+
/** 给 poperjs 一个参考 */
|
|
4645
|
+
}
|
|
4646
|
+
.resource-list .list-filter-wrapper .list-filter .more-btn .filter-pannel {
|
|
4647
|
+
inset: 40px auto auto auto !important;
|
|
4648
|
+
}
|
|
4649
|
+
.resource-list .list-filter-wrapper .filter-extra {
|
|
4650
|
+
display: flex;
|
|
4651
|
+
gap: 10px;
|
|
4652
|
+
}
|
|
4653
|
+
.resource-list .list-filter-wrapper .filter-pannel {
|
|
4654
|
+
z-index: 100000;
|
|
4655
|
+
display: flex;
|
|
4656
|
+
flex-direction: column;
|
|
4657
|
+
gap: 10px;
|
|
4658
|
+
padding: 10px;
|
|
4659
|
+
background-color: #fff;
|
|
4660
|
+
border-radius: 4px;
|
|
4661
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
4662
|
+
}
|
|
4631
4663
|
.resource-list .title {
|
|
4632
4664
|
display: flex;
|
|
4633
4665
|
gap: 8px;
|
|
@@ -4641,6 +4673,10 @@
|
|
|
4641
4673
|
height: 16px;
|
|
4642
4674
|
background-color: #4886ff;
|
|
4643
4675
|
}
|
|
4676
|
+
.resource-select-wrap {
|
|
4677
|
+
width: 100%;
|
|
4678
|
+
height: 100%;
|
|
4679
|
+
}
|
|
4644
4680
|
.resource-select-modal-body {
|
|
4645
4681
|
height: 80vh;
|
|
4646
4682
|
padding: 0;
|
|
@@ -4669,6 +4705,11 @@
|
|
|
4669
4705
|
.resource-select-container .resource-select-header .arco-tabs-content {
|
|
4670
4706
|
display: none !important;
|
|
4671
4707
|
}
|
|
4708
|
+
.resource-select-container .resource-list-content .resource-list-content-empty {
|
|
4709
|
+
box-sizing: border-box;
|
|
4710
|
+
width: 100%;
|
|
4711
|
+
height: 100%;
|
|
4712
|
+
}
|
|
4672
4713
|
.iframe-container {
|
|
4673
4714
|
position: relative;
|
|
4674
4715
|
height: 95vh;
|
|
@@ -23,6 +23,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
23
23
|
var _a;
|
|
24
24
|
return (_a = userInfo == null ? void 0 : userInfo.value) == null ? void 0 : _a.repository_id;
|
|
25
25
|
});
|
|
26
|
+
const { template, initTemplate } = useUpload.useUploadConfig();
|
|
26
27
|
const { list, uploadFile, reTranscode, transcodingFile, removeRecord } = useUpload["default"]();
|
|
27
28
|
function handleChange(file) {
|
|
28
29
|
if (!baseAPI || !repoId.value)
|
|
@@ -32,7 +33,8 @@ const _sfc_main = vue.defineComponent({
|
|
|
32
33
|
file.file,
|
|
33
34
|
0,
|
|
34
35
|
repoId.value,
|
|
35
|
-
(media) => transcodingFile(baseAPI, media, repoId.value)
|
|
36
|
+
(media) => transcodingFile(baseAPI, media, repoId.value),
|
|
37
|
+
{ template: template.value }
|
|
36
38
|
);
|
|
37
39
|
}
|
|
38
40
|
async function handleOptions(e) {
|
|
@@ -55,6 +57,9 @@ const _sfc_main = vue.defineComponent({
|
|
|
55
57
|
removeRecord(e.item);
|
|
56
58
|
}
|
|
57
59
|
}
|
|
60
|
+
vue.onMounted(() => {
|
|
61
|
+
initTemplate(baseAPI);
|
|
62
|
+
});
|
|
58
63
|
return (_ctx, _cache) => {
|
|
59
64
|
return vue.openBlock(), vue.createBlock(ListWraper, null, {
|
|
60
65
|
"footer-extra": vue.withCtx(() => [
|
|
@@ -3,41 +3,70 @@ var vue = require("vue");
|
|
|
3
3
|
var webVue = require("@arco-design/web-vue");
|
|
4
4
|
var icon = require("@arco-design/web-vue/es/icon");
|
|
5
5
|
var useSelection = require("../../../../hooks/useSelection.js");
|
|
6
|
+
var useAttachement = require("../../../../hooks/useAttachement.js");
|
|
6
7
|
var typeMap = require("../../../../utils/typeMap.js");
|
|
7
8
|
var selectionApis = require("../../../scripts/selectionApis.js");
|
|
8
9
|
var resource = require("../../../../utils/resource.js");
|
|
10
|
+
var useResponsiveFilter = require("../../../hooks/useResponsiveFilter.js");
|
|
9
11
|
const _hoisted_1 = { class: "list-filter-wrapper" };
|
|
10
12
|
const _hoisted_2 = { class: "list-filter" };
|
|
11
|
-
const _hoisted_3 = { class: "
|
|
12
|
-
const _hoisted_4 = {
|
|
13
|
+
const _hoisted_3 = { class: "more-btn" };
|
|
14
|
+
const _hoisted_4 = { class: "right-prefix" };
|
|
13
15
|
const _hoisted_5 = {
|
|
14
16
|
class: "filter-item",
|
|
15
17
|
style: { "width": "200px" }
|
|
16
18
|
};
|
|
17
|
-
const _hoisted_6 = {
|
|
19
|
+
const _hoisted_6 = {
|
|
20
|
+
class: "filter-item",
|
|
21
|
+
style: { "width": "180px" }
|
|
22
|
+
};
|
|
18
23
|
const _hoisted_7 = {
|
|
24
|
+
class: "filter-item",
|
|
25
|
+
style: { "width": "170px" }
|
|
26
|
+
};
|
|
27
|
+
const _hoisted_8 = {
|
|
28
|
+
class: "filter-item",
|
|
29
|
+
style: { "width": "240px" }
|
|
30
|
+
};
|
|
31
|
+
const _hoisted_9 = {
|
|
32
|
+
class: "filter-item",
|
|
33
|
+
style: { "width": "240px" }
|
|
34
|
+
};
|
|
35
|
+
const _hoisted_10 = {
|
|
19
36
|
key: 0,
|
|
20
37
|
class: "filter-item"
|
|
21
38
|
};
|
|
22
|
-
const
|
|
23
|
-
const
|
|
39
|
+
const _hoisted_11 = { class: "filter-extra" };
|
|
40
|
+
const _hoisted_12 = { class: "filter-item" };
|
|
41
|
+
const _hoisted_13 = {
|
|
24
42
|
key: 0,
|
|
25
43
|
class: "list-filter-tags"
|
|
26
44
|
};
|
|
27
|
-
const
|
|
45
|
+
const _hoisted_14 = ["onClick"];
|
|
28
46
|
const _sfc_main = vue.defineComponent({
|
|
29
47
|
__name: "Filter",
|
|
30
48
|
props: {
|
|
49
|
+
smallScreen: { type: Boolean },
|
|
31
50
|
disableUploadBy: { type: Boolean }
|
|
32
51
|
},
|
|
33
52
|
emits: ["upload", "change"],
|
|
34
53
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
54
|
+
var _a, _b, _c;
|
|
35
55
|
const props = __props;
|
|
36
56
|
const emits = __emit;
|
|
37
57
|
const userInfo = vue.inject("userInfo");
|
|
38
58
|
const baseAPI = vue.inject("baseAPI");
|
|
39
59
|
const filterOptions = vue.inject("filterOptions");
|
|
40
60
|
const domainId = vue.computed(() => userInfo == null ? void 0 : userInfo.value.domain_id);
|
|
61
|
+
const filterItemsRef = vue.ref();
|
|
62
|
+
const {
|
|
63
|
+
moreBtnRef,
|
|
64
|
+
popperPanelRef,
|
|
65
|
+
hiddenElementList,
|
|
66
|
+
visible,
|
|
67
|
+
show,
|
|
68
|
+
hide
|
|
69
|
+
} = useResponsiveFilter.useResponsiveFilter(filterItemsRef);
|
|
41
70
|
const { options, loading, load, loadMore, handleSearch } = useSelection({
|
|
42
71
|
labelStr: "alias",
|
|
43
72
|
valueStr: "id",
|
|
@@ -57,6 +86,9 @@ const _sfc_main = vue.defineComponent({
|
|
|
57
86
|
});
|
|
58
87
|
const resourceSource = typeMap.RESOURCE_SOURCE_OPTIONS;
|
|
59
88
|
const resourceCatalog = typeMap.RESOURCE_CATALOG_OPTIONS;
|
|
89
|
+
const { tree } = useAttachement.useDirectory({
|
|
90
|
+
BASE_API: baseAPI
|
|
91
|
+
});
|
|
60
92
|
const originFilter = {
|
|
61
93
|
catalog: [],
|
|
62
94
|
source: "",
|
|
@@ -65,9 +97,20 @@ const _sfc_main = vue.defineComponent({
|
|
|
65
97
|
keyword: "",
|
|
66
98
|
precise_keyword: "",
|
|
67
99
|
upload_by: null,
|
|
68
|
-
sf: ""
|
|
100
|
+
sf: "",
|
|
101
|
+
directory_id: void 0
|
|
69
102
|
};
|
|
70
|
-
|
|
103
|
+
if ((_a = filterOptions == null ? void 0 : filterOptions.value) == null ? void 0 : _a.mediaTypeStrict) {
|
|
104
|
+
originFilter.catalog = filterOptions.value.mediaType.split(",");
|
|
105
|
+
}
|
|
106
|
+
const filter = vue.ref(
|
|
107
|
+
JSON.parse(
|
|
108
|
+
JSON.stringify({
|
|
109
|
+
...originFilter,
|
|
110
|
+
catalog: ((_c = (_b = filterOptions == null ? void 0 : filterOptions.value) == null ? void 0 : _b.mediaType) == null ? void 0 : _c.split(",")) || []
|
|
111
|
+
})
|
|
112
|
+
)
|
|
113
|
+
);
|
|
71
114
|
const handleReset = () => {
|
|
72
115
|
filter.value = JSON.parse(JSON.stringify(originFilter));
|
|
73
116
|
};
|
|
@@ -112,82 +155,114 @@ const _sfc_main = vue.defineComponent({
|
|
|
112
155
|
filter.value.keyword = val;
|
|
113
156
|
filter.value.precise_keyword = "";
|
|
114
157
|
}
|
|
158
|
+
filter.value.sf = "";
|
|
115
159
|
}
|
|
116
160
|
});
|
|
117
|
-
vue.watch(
|
|
118
|
-
() => searchType.value,
|
|
119
|
-
() => {
|
|
120
|
-
searchInput.value = filter.value.keyword || filter.value.precise_keyword;
|
|
121
|
-
}
|
|
122
|
-
);
|
|
123
161
|
const isEmpty = vue.computed(() => {
|
|
124
|
-
return Object.keys(
|
|
162
|
+
return Object.keys(originFilter).every((key) => {
|
|
163
|
+
if (key === "catalog") {
|
|
164
|
+
const currentCatalog = filter.value[key] || [];
|
|
165
|
+
const originCatalog = originFilter[key] || [];
|
|
166
|
+
return currentCatalog.length === originCatalog.length && currentCatalog.every((v) => originCatalog.includes(v));
|
|
167
|
+
}
|
|
125
168
|
return filter.value[key] === originFilter[key];
|
|
126
169
|
});
|
|
127
170
|
});
|
|
128
171
|
vue.watch(
|
|
129
172
|
() => filter.value,
|
|
130
|
-
() => {
|
|
131
|
-
const result = { ...
|
|
173
|
+
(val) => {
|
|
174
|
+
const result = { ...val };
|
|
132
175
|
Object.keys(result).forEach((key) => {
|
|
133
176
|
if (props.disableUploadBy && key === "upload_by")
|
|
134
177
|
delete result[key];
|
|
135
|
-
if (
|
|
136
|
-
|
|
178
|
+
if (result[key] === "" || result[key] === null || result[key] === void 0) {
|
|
179
|
+
if (key !== "catalog") {
|
|
180
|
+
delete result[key];
|
|
181
|
+
}
|
|
182
|
+
}
|
|
137
183
|
});
|
|
138
|
-
if (
|
|
139
|
-
result.catalog
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
},
|
|
144
|
-
{ deep: true, immediate: true }
|
|
145
|
-
);
|
|
146
|
-
vue.watch(
|
|
147
|
-
() => filterOptions == null ? void 0 : filterOptions.value,
|
|
148
|
-
() => {
|
|
149
|
-
var _a;
|
|
150
|
-
if ((_a = filterOptions == null ? void 0 : filterOptions.value) == null ? void 0 : _a.mediaType) {
|
|
151
|
-
filter.value.catalog = filterOptions == null ? void 0 : filterOptions.value.mediaType.split(",");
|
|
152
|
-
if (filterOptions == null ? void 0 : filterOptions.value.mediaTypeStrict) {
|
|
153
|
-
originFilter.catalog = filterOptions == null ? void 0 : filterOptions.value.mediaType.split(",");
|
|
184
|
+
if (result.catalog && Array.isArray(result.catalog)) {
|
|
185
|
+
if (result.catalog.length > 0) {
|
|
186
|
+
result.catalog = result.catalog.join(",");
|
|
187
|
+
} else {
|
|
188
|
+
delete result.catalog;
|
|
154
189
|
}
|
|
155
190
|
}
|
|
191
|
+
emits("change", result);
|
|
156
192
|
},
|
|
157
|
-
{
|
|
193
|
+
{ deep: true, immediate: true }
|
|
158
194
|
);
|
|
159
195
|
vue.onMounted(() => {
|
|
160
196
|
load();
|
|
161
197
|
});
|
|
162
198
|
__expose({
|
|
163
|
-
|
|
199
|
+
filter,
|
|
200
|
+
handleReset
|
|
164
201
|
});
|
|
165
202
|
return (_ctx, _cache) => {
|
|
166
|
-
var
|
|
203
|
+
var _a2;
|
|
167
204
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
205
|
+
vue.createCommentVNode(" Use filterItemsRef's parentElement as the container for boundary checks "),
|
|
168
206
|
vue.createElementVNode("div", _hoisted_2, [
|
|
169
|
-
vue.
|
|
207
|
+
vue.createCommentVNode(" Filter Items Container "),
|
|
208
|
+
vue.createElementVNode("div", {
|
|
209
|
+
id: "resource-filter-pannel",
|
|
210
|
+
ref_key: "filterItemsRef",
|
|
211
|
+
ref: filterItemsRef,
|
|
212
|
+
class: "filter-list"
|
|
213
|
+
}, [
|
|
214
|
+
vue.createCommentVNode(" More Filters Button and Popper Panel "),
|
|
215
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
216
|
+
vue.createElementVNode("div", {
|
|
217
|
+
ref_key: "moreBtnRef",
|
|
218
|
+
ref: moreBtnRef
|
|
219
|
+
}, [
|
|
220
|
+
vue.withDirectives(vue.createVNode(vue.unref(webVue.Button), {
|
|
221
|
+
style: { marginRight: "10px" },
|
|
222
|
+
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => vue.unref(visible) ? vue.unref(hide)() : vue.unref(show)(), ["stop"]))
|
|
223
|
+
}, {
|
|
224
|
+
default: vue.withCtx(() => [
|
|
225
|
+
vue.createElementVNode("span", _hoisted_4, [
|
|
226
|
+
_cache[11] || (_cache[11] = vue.createTextVNode(" \u66F4\u591A ")),
|
|
227
|
+
vue.createVNode(vue.unref(icon.IconCaretDown))
|
|
228
|
+
])
|
|
229
|
+
]),
|
|
230
|
+
_: 1
|
|
231
|
+
}, 512), [
|
|
232
|
+
[vue.vShow, vue.unref(hiddenElementList).length]
|
|
233
|
+
])
|
|
234
|
+
], 512),
|
|
235
|
+
vue.withDirectives(vue.createElementVNode("div", {
|
|
236
|
+
ref_key: "popperPanelRef",
|
|
237
|
+
ref: popperPanelRef,
|
|
238
|
+
class: "filter-pannel",
|
|
239
|
+
onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
|
|
240
|
+
}, ["stop"]))
|
|
241
|
+
}, null, 512), [
|
|
242
|
+
[vue.vShow, vue.unref(visible)]
|
|
243
|
+
])
|
|
244
|
+
]),
|
|
170
245
|
vue.createCommentVNode(" \u5173\u952E\u8BCD "),
|
|
171
|
-
vue.createElementVNode("div",
|
|
246
|
+
vue.createElementVNode("div", _hoisted_5, [
|
|
172
247
|
vue.createVNode(vue.unref(webVue.Input), {
|
|
173
248
|
modelValue: searchInput.value,
|
|
174
|
-
"onUpdate:modelValue": _cache[
|
|
249
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => searchInput.value = $event),
|
|
175
250
|
"allow-clear": "",
|
|
176
251
|
placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u8BCD"
|
|
177
252
|
}, {
|
|
178
253
|
prepend: vue.withCtx(() => [
|
|
179
254
|
vue.createVNode(vue.unref(webVue.Dropdown), {
|
|
180
|
-
onSelect: _cache[
|
|
255
|
+
onSelect: _cache[2] || (_cache[2] = (e) => searchType.value = e)
|
|
181
256
|
}, {
|
|
182
257
|
content: vue.withCtx(() => [
|
|
183
258
|
vue.createVNode(vue.unref(webVue.Doption), { value: 0 }, {
|
|
184
|
-
default: vue.withCtx(() => _cache[
|
|
259
|
+
default: vue.withCtx(() => _cache[12] || (_cache[12] = [
|
|
185
260
|
vue.createTextVNode("\u7CBE\u51C6\u641C")
|
|
186
261
|
])),
|
|
187
262
|
_: 1
|
|
188
263
|
}),
|
|
189
264
|
vue.createVNode(vue.unref(webVue.Doption), { value: 1 }, {
|
|
190
|
-
default: vue.withCtx(() => _cache[
|
|
265
|
+
default: vue.withCtx(() => _cache[13] || (_cache[13] = [
|
|
191
266
|
vue.createTextVNode("\u6A21\u7CCA\u641C")
|
|
192
267
|
])),
|
|
193
268
|
_: 1
|
|
@@ -207,15 +282,39 @@ const _sfc_main = vue.defineComponent({
|
|
|
207
282
|
_: 1
|
|
208
283
|
}, 8, ["modelValue"])
|
|
209
284
|
]),
|
|
285
|
+
vue.createCommentVNode(" \u76EE\u5F55 "),
|
|
286
|
+
vue.createElementVNode("div", _hoisted_6, [
|
|
287
|
+
vue.createVNode(vue.unref(webVue.TreeSelect), {
|
|
288
|
+
modelValue: filter.value.directory_id,
|
|
289
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => filter.value.directory_id = $event),
|
|
290
|
+
data: vue.unref(tree),
|
|
291
|
+
"popup-container": "#resource-filter-pannel",
|
|
292
|
+
placeholder: "\u8BF7\u9009\u62E9\u76EE\u5F55",
|
|
293
|
+
"field-names": {
|
|
294
|
+
title: "alias",
|
|
295
|
+
key: "id"
|
|
296
|
+
},
|
|
297
|
+
"allow-clear": "",
|
|
298
|
+
"allow-search": "",
|
|
299
|
+
"filter-tree-node": (searchValue, nodeData) => {
|
|
300
|
+
console.log(nodeData);
|
|
301
|
+
if (!nodeData.alias)
|
|
302
|
+
return false;
|
|
303
|
+
return nodeData.alias.toLowerCase().indexOf(searchValue.toLowerCase()) > -1;
|
|
304
|
+
}
|
|
305
|
+
}, null, 8, ["modelValue", "data", "filter-tree-node"])
|
|
306
|
+
]),
|
|
210
307
|
vue.createCommentVNode(" \u7D20\u6750\u7C7B\u578B "),
|
|
211
|
-
vue.createElementVNode("div",
|
|
308
|
+
vue.createElementVNode("div", _hoisted_7, [
|
|
212
309
|
vue.createVNode(vue.unref(webVue.Select), {
|
|
213
310
|
modelValue: filter.value.catalog,
|
|
214
|
-
"onUpdate:modelValue": _cache[
|
|
215
|
-
disabled: (
|
|
311
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => filter.value.catalog = $event),
|
|
312
|
+
disabled: (_a2 = vue.unref(filterOptions)) == null ? void 0 : _a2.mediaTypeStrict,
|
|
313
|
+
"popup-container": "#resource-filter-pannel",
|
|
216
314
|
"allow-clear": "",
|
|
217
315
|
placeholder: "\u7C7B\u578B",
|
|
218
|
-
multiple: ""
|
|
316
|
+
multiple: "",
|
|
317
|
+
"max-tag-count": 1
|
|
219
318
|
}, {
|
|
220
319
|
default: vue.withCtx(() => [
|
|
221
320
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(resourceCatalog), (item) => {
|
|
@@ -230,19 +329,22 @@ const _sfc_main = vue.defineComponent({
|
|
|
230
329
|
}, 8, ["modelValue", "disabled"])
|
|
231
330
|
]),
|
|
232
331
|
vue.createCommentVNode(" \u65F6\u95F4\u8303\u56F4 "),
|
|
233
|
-
vue.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
332
|
+
vue.createElementVNode("div", _hoisted_8, [
|
|
333
|
+
vue.createVNode(vue.unref(webVue.RangePicker), {
|
|
334
|
+
modelValue: rangeTime.value,
|
|
335
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => rangeTime.value = $event),
|
|
336
|
+
"allow-clear": "",
|
|
337
|
+
"popup-container": "#resource-filter-pannel"
|
|
338
|
+
}, null, 8, ["modelValue"])
|
|
339
|
+
]),
|
|
239
340
|
vue.createCommentVNode(" \u7D20\u6750\u4E0A\u4F20\u6765\u6E90 "),
|
|
240
|
-
vue.createElementVNode("div",
|
|
341
|
+
vue.createElementVNode("div", _hoisted_9, [
|
|
241
342
|
vue.createVNode(vue.unref(webVue.Select), {
|
|
242
343
|
modelValue: filter.value.source,
|
|
243
|
-
"onUpdate:modelValue": _cache[
|
|
344
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => filter.value.source = $event),
|
|
244
345
|
"allow-clear": "",
|
|
245
|
-
placeholder: "\u6765\u6E90"
|
|
346
|
+
placeholder: "\u6765\u6E90",
|
|
347
|
+
"popup-container": "#resource-filter-pannel"
|
|
246
348
|
}, {
|
|
247
349
|
default: vue.withCtx(() => [
|
|
248
350
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(resourceSource), (item) => {
|
|
@@ -257,14 +359,15 @@ const _sfc_main = vue.defineComponent({
|
|
|
257
359
|
}, 8, ["modelValue"])
|
|
258
360
|
]),
|
|
259
361
|
vue.createCommentVNode(" \u7D20\u6750\u4E0A\u4F20\u4EBA "),
|
|
260
|
-
!_ctx.disableUploadBy ? (vue.openBlock(), vue.createElementBlock("div",
|
|
362
|
+
!_ctx.disableUploadBy ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10, [
|
|
261
363
|
vue.createVNode(vue.unref(webVue.Select), {
|
|
262
364
|
modelValue: filter.value.upload_by,
|
|
263
|
-
"onUpdate:modelValue": _cache[
|
|
365
|
+
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => filter.value.upload_by = $event),
|
|
264
366
|
"allow-clear": "",
|
|
265
367
|
placeholder: "\u4E0A\u4F20\u4EBA",
|
|
266
368
|
loading: vue.unref(loading),
|
|
267
369
|
"allow-search": "",
|
|
370
|
+
"popup-container": "#resource-filter-pannel",
|
|
268
371
|
onSearch: vue.unref(handleSearch),
|
|
269
372
|
onDropdownReachBottom: vue.unref(loadMore)
|
|
270
373
|
}, {
|
|
@@ -279,40 +382,64 @@ const _sfc_main = vue.defineComponent({
|
|
|
279
382
|
]),
|
|
280
383
|
_: 1
|
|
281
384
|
}, 8, ["modelValue", "loading", "onSearch", "onDropdownReachBottom"])
|
|
282
|
-
])) : vue.createCommentVNode("v-if", true)
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
385
|
+
])) : vue.createCommentVNode("v-if", true)
|
|
386
|
+
], 512),
|
|
387
|
+
vue.createElementVNode("div", _hoisted_11, [
|
|
388
|
+
vue.createCommentVNode(" \u91CD\u7F6E\u6309\u94AE - Wrap in filter-item to be managed by the hook "),
|
|
389
|
+
vue.withDirectives(vue.createElementVNode("div", _hoisted_12, [
|
|
390
|
+
_ctx.smallScreen ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.Button), {
|
|
391
|
+
key: 0,
|
|
392
|
+
type: "text",
|
|
393
|
+
onClick: handleReset
|
|
394
|
+
}, {
|
|
395
|
+
icon: vue.withCtx(() => [
|
|
396
|
+
vue.createVNode(vue.unref(icon.IconRefresh))
|
|
397
|
+
]),
|
|
398
|
+
_: 1
|
|
399
|
+
})) : (vue.openBlock(), vue.createBlock(vue.unref(webVue.Button), {
|
|
400
|
+
key: 1,
|
|
401
|
+
type: "text",
|
|
402
|
+
onClick: handleReset
|
|
403
|
+
}, {
|
|
404
|
+
default: vue.withCtx(() => _cache[14] || (_cache[14] = [
|
|
405
|
+
vue.createTextVNode(" \u91CD\u7F6E ")
|
|
406
|
+
])),
|
|
407
|
+
_: 1
|
|
408
|
+
}))
|
|
409
|
+
], 512), [
|
|
410
|
+
[vue.vShow, !isEmpty.value]
|
|
411
|
+
]),
|
|
412
|
+
_ctx.smallScreen ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.Button), {
|
|
413
|
+
key: 0,
|
|
414
|
+
type: "primary",
|
|
415
|
+
onClick: _cache[9] || (_cache[9] = ($event) => emits("upload"))
|
|
287
416
|
}, {
|
|
288
|
-
|
|
289
|
-
vue.
|
|
290
|
-
])
|
|
417
|
+
icon: vue.withCtx(() => [
|
|
418
|
+
vue.createVNode(vue.unref(icon.IconUpload))
|
|
419
|
+
]),
|
|
291
420
|
_: 1
|
|
292
|
-
})) : vue.
|
|
293
|
-
|
|
294
|
-
vue.createElementVNode("div", _hoisted_8, [
|
|
295
|
-
vue.createVNode(vue.unref(webVue.Button), {
|
|
421
|
+
})) : (vue.openBlock(), vue.createBlock(vue.unref(webVue.Button), {
|
|
422
|
+
key: 1,
|
|
296
423
|
type: "primary",
|
|
297
|
-
onClick: _cache[
|
|
424
|
+
onClick: _cache[10] || (_cache[10] = ($event) => emits("upload"))
|
|
298
425
|
}, {
|
|
299
426
|
icon: vue.withCtx(() => [
|
|
300
427
|
vue.createVNode(vue.unref(icon.IconUpload))
|
|
301
428
|
]),
|
|
302
429
|
default: vue.withCtx(() => [
|
|
303
|
-
_cache[
|
|
430
|
+
_cache[15] || (_cache[15] = vue.createTextVNode(" \u4E0A\u4F20 "))
|
|
304
431
|
]),
|
|
305
432
|
_: 1
|
|
306
|
-
})
|
|
433
|
+
}))
|
|
307
434
|
])
|
|
308
435
|
]),
|
|
309
|
-
searchInput.value ? (vue.openBlock(), vue.createElementBlock("div",
|
|
436
|
+
searchInput.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_13, [
|
|
310
437
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(resource.keywordsSelection), (item) => {
|
|
311
438
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
312
439
|
key: item.value,
|
|
313
440
|
class: vue.normalizeClass(["list-filter-tag", { active: filter.value.sf === item.value }]),
|
|
314
441
|
onClick: ($event) => filter.value.sf = item.value
|
|
315
|
-
}, vue.toDisplayString(item.name), 11,
|
|
442
|
+
}, vue.toDisplayString(item.name), 11, _hoisted_14);
|
|
316
443
|
}), 128))
|
|
317
444
|
])) : vue.createCommentVNode("v-if", true)
|
|
318
445
|
]);
|