@jari-ace/element-plus-component 0.4.3 → 0.5.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/components/avatar/JaAvatar.vue.d.ts.map +1 -1
- package/dist/components/avatar/JaAvatar.vue.js +4 -2
- package/dist/components/avatar/JaAvatar.vue.js.map +1 -1
- package/dist/components/flowShell/FlowFormShell.vue.d.ts +403 -0
- package/dist/components/flowShell/FlowFormShell.vue.d.ts.map +1 -0
- package/dist/components/flowShell/FlowFormShell.vue.js +671 -0
- package/dist/components/flowShell/FlowFormShell.vue.js.map +1 -0
- package/dist/components/flowShell/index.d.ts +4 -0
- package/dist/components/flowShell/index.d.ts.map +1 -0
- package/dist/components/flowShell/index.js +4 -0
- package/dist/components/flowShell/index.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/upload/uploader.vue.d.ts.map +1 -1
- package/dist/components/upload/uploader.vue.js +65 -46
- package/dist/components/upload/uploader.vue.js.map +1 -1
- package/dist/components/userPicker/src/JaUserList.vue.d.ts.map +1 -1
- package/dist/components/userPicker/src/JaUserList.vue.js +0 -2
- package/dist/components/userPicker/src/JaUserList.vue.js.map +1 -1
- package/dist/components/userTag/UserInfoTag.vue.d.ts +1 -1
- package/dist/components/userTag/UserInfoTag.vue.d.ts.map +1 -1
- package/dist/components/userTag/UserInfoTag.vue.js +2 -2
- package/dist/components/userTag/UserInfoTag.vue.js.map +1 -1
- package/dist/hooks/useRouteableVisible.d.ts +12 -0
- package/dist/hooks/useRouteableVisible.d.ts.map +1 -0
- package/dist/hooks/useRouteableVisible.js +34 -0
- package/dist/hooks/useRouteableVisible.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.js +10616 -9904
- package/lib/index.umd.cjs +39 -35
- package/package.json +4 -2
- package/packages/components/avatar/JaAvatar.vue +4 -2
- package/packages/components/flowShell/FlowFormShell.vue +628 -0
- package/packages/components/flowShell/index.ts +5 -0
- package/packages/components/index.ts +1 -0
- package/packages/components/upload/uploader.vue +61 -46
- package/packages/components/userPicker/src/JaUserList.vue +0 -1
- package/packages/components/userTag/UserInfoTag.vue +2 -2
- package/packages/hooks/useRouteableVisible.ts +35 -0
- package/packages/index.ts +1 -0
|
@@ -16,7 +16,6 @@ import {
|
|
|
16
16
|
useSystemClassificationLevels
|
|
17
17
|
} from "../../hooks/useClassificationLevels";
|
|
18
18
|
import Ace = Jari.Ace;
|
|
19
|
-
import { ElMessageBox } from "element-plus";
|
|
20
19
|
import "@uppy/core/css/style.min.css";
|
|
21
20
|
import "@uppy/dashboard/css/style.min.css";
|
|
22
21
|
import "@uppy/audio/css/style.min.css";
|
|
@@ -33,8 +32,8 @@ import Dashboard from "@uppy/dashboard";
|
|
|
33
32
|
import ImageEditor from "@uppy/image-editor";
|
|
34
33
|
import prettyBytes from "pretty-bytes";
|
|
35
34
|
import PdfViewerModal from "./pdf-viewer/PdfViewerModal.vue";
|
|
36
|
-
|
|
37
35
|
import {
|
|
36
|
+
ElMessageBox,
|
|
38
37
|
ElTable,
|
|
39
38
|
ElTableColumn,
|
|
40
39
|
ElButton,
|
|
@@ -46,6 +45,7 @@ import {
|
|
|
46
45
|
ElTooltip
|
|
47
46
|
} from "element-plus";
|
|
48
47
|
import type { AceFile } from "./types";
|
|
48
|
+
import { fa } from "element-plus/es/locales.mjs";
|
|
49
49
|
|
|
50
50
|
const props = defineProps<{
|
|
51
51
|
/**
|
|
@@ -419,69 +419,84 @@ async function downloadAll() {
|
|
|
419
419
|
}
|
|
420
420
|
|
|
421
421
|
function checkAllowUpload() {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
422
|
+
console.log('ja-uploader 上传权限调试:')
|
|
423
|
+
console.log('props.allowUpload = ', props.allowUpload)
|
|
424
|
+
if (props.allowUpload === false) return false;
|
|
425
|
+
const cfg = uploadInitParams.value?.fileConfig;
|
|
426
|
+
if (cfg) {
|
|
427
|
+
let hasRole = true;
|
|
428
|
+
console.log('cfg.uploadAuthCode = ', cfg.uploadAuthCode)
|
|
429
|
+
if (cfg.uploadAuthCode) {
|
|
430
|
+
const login = useLoginUser();
|
|
431
|
+
if (login) {
|
|
432
|
+
hasRole = login.hasRole(cfg.uploadAuthCode);
|
|
432
433
|
}
|
|
433
|
-
|
|
434
|
+
console.log('hasRole = ', hasRole)
|
|
435
|
+
console.log('final upload auth: ', !cfg.disallowUpload && hasRole)
|
|
436
|
+
return !cfg.disallowUpload && hasRole;
|
|
434
437
|
}
|
|
435
|
-
|
|
438
|
+
return !cfg.disallowUpload;
|
|
436
439
|
}
|
|
437
|
-
|
|
440
|
+
console.log('file cfg ' + props.configKey + ' does not exists')
|
|
441
|
+
return !!props.allowUpload;
|
|
438
442
|
}
|
|
439
443
|
|
|
440
444
|
function checkAllowDownload() {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
445
|
+
console.log('ja-uploader 下载权限调试:')
|
|
446
|
+
console.log('props.allowDownload = ', props.allowDownload)
|
|
447
|
+
if (props.allowDownload === false) return false;
|
|
448
|
+
const cfg = uploadInitParams.value?.fileConfig;
|
|
449
|
+
if (cfg) {
|
|
450
|
+
let hasRole = true;
|
|
451
|
+
console.log('cfg.uploadAuthCode = ', cfg.uploadAuthCode)
|
|
452
|
+
if (cfg.downloadAuthCode) {
|
|
453
|
+
const login = useLoginUser();
|
|
454
|
+
if (login) {
|
|
455
|
+
hasRole = login.hasRole(cfg.downloadAuthCode);
|
|
451
456
|
}
|
|
452
|
-
|
|
457
|
+
console.log('hasRole = ', hasRole)
|
|
458
|
+
console.log('final download auth: ', !cfg.disallowDownload && hasRole)
|
|
459
|
+
return !cfg.disallowDownload && hasRole;
|
|
453
460
|
}
|
|
461
|
+
return !cfg.disallowDownload;
|
|
454
462
|
}
|
|
455
|
-
return props.allowDownload;
|
|
463
|
+
return !!props.allowDownload;
|
|
456
464
|
}
|
|
457
465
|
|
|
458
466
|
function checkAllowDelete() {
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
467
|
+
console.log('ja-uploader 删除权限调试:')
|
|
468
|
+
console.log('props.allowDelete = ', props.allowDelete)
|
|
469
|
+
if (props.allowDelete === false) return false;
|
|
470
|
+
const cfg = uploadInitParams.value?.fileConfig;
|
|
471
|
+
if (cfg) {
|
|
472
|
+
let hasRole = true;
|
|
473
|
+
console.log('cfg.deleteAuthCode = ', cfg.deleteAuthCode)
|
|
474
|
+
if (cfg.deleteAuthCode) {
|
|
475
|
+
const login = useLoginUser();
|
|
476
|
+
if (login) {
|
|
477
|
+
hasRole = login.hasRole(cfg.deleteAuthCode);
|
|
469
478
|
}
|
|
470
|
-
|
|
479
|
+
console.log('hasRole = ', hasRole)
|
|
480
|
+
console.log('final delete auth: ', !cfg.disallowDelete && hasRole)
|
|
481
|
+
return !cfg.disallowDelete && hasRole;
|
|
471
482
|
}
|
|
483
|
+
return !cfg.disallowDelete;
|
|
472
484
|
}
|
|
473
|
-
return props.allowDelete;
|
|
485
|
+
return !!props.allowDelete;
|
|
474
486
|
}
|
|
475
487
|
|
|
476
488
|
function checkAllowPreview(file: FileInfo) {
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
return
|
|
489
|
+
console.log('ja-uploader 预览权限调试:')
|
|
490
|
+
console.log('props.allowPreview = ', props.allowPreview)
|
|
491
|
+
if (props.allowPreview === false) return false;
|
|
492
|
+
const cfg = uploadInitParams.value?.fileConfig;
|
|
493
|
+
if (cfg) {
|
|
494
|
+
if (cfg.disablePreview) {
|
|
495
|
+
return false;
|
|
484
496
|
}
|
|
497
|
+
console.log("file name: ", file.fileName)
|
|
498
|
+
console.log("可预览类型:", previewableFileExts)
|
|
499
|
+
return previewableFileExts.some(ext => file.fileName.endsWith(ext));
|
|
485
500
|
}
|
|
486
501
|
return props.allowPreview;
|
|
487
502
|
}
|
|
@@ -29,7 +29,7 @@ const props = withDefaults(defineProps<{
|
|
|
29
29
|
realm?: string,
|
|
30
30
|
username?: string,
|
|
31
31
|
theme?: keyof typeof themeClass,
|
|
32
|
-
|
|
32
|
+
showAvatarInTag?: boolean,
|
|
33
33
|
placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end'
|
|
34
34
|
}>(), {
|
|
35
35
|
closable: false,
|
|
@@ -106,7 +106,7 @@ function doUnbookmark() {
|
|
|
106
106
|
<div :class="themeClass[props.theme]">
|
|
107
107
|
<div class="portrait">
|
|
108
108
|
<ja-avatar :size="24" :user-id="userId" :realm="realm"
|
|
109
|
-
:username="username" :has-avatar="
|
|
109
|
+
:username="username" :has-avatar="showAvatarInTag"></ja-avatar>
|
|
110
110
|
</div>
|
|
111
111
|
<div class="user-info">
|
|
112
112
|
{{ fullName }}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { computed, ref, type Ref } from 'vue';
|
|
2
|
+
import { useRouter } from 'vue-router';
|
|
3
|
+
/**
|
|
4
|
+
* 支持通过路由控制对话框visible或者通过v-model控制对话框visible
|
|
5
|
+
*
|
|
6
|
+
* @param modelValue 对话框的visible模型变量
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export function useRouteableVisible(modelValue: Ref<boolean | undefined>) {
|
|
10
|
+
const router = useRouter();
|
|
11
|
+
|
|
12
|
+
// Use internal state if modelValue is not provided (route mode)
|
|
13
|
+
const internalVisible = ref(true);
|
|
14
|
+
const isRouteMode = computed(() => modelValue.value === undefined);
|
|
15
|
+
|
|
16
|
+
const visible = computed({
|
|
17
|
+
get: () => (isRouteMode.value ? internalVisible.value : modelValue.value!),
|
|
18
|
+
set: (val) => {
|
|
19
|
+
if (isRouteMode.value) {
|
|
20
|
+
internalVisible.value = val;
|
|
21
|
+
if (!val) {
|
|
22
|
+
// If closed in route mode, go back
|
|
23
|
+
router.back();
|
|
24
|
+
}
|
|
25
|
+
} else {
|
|
26
|
+
modelValue.value = val;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
visible,
|
|
33
|
+
isRouteMode,
|
|
34
|
+
};
|
|
35
|
+
}
|
package/packages/index.ts
CHANGED