@blueking/ai-ui-sdk 0.1.2-beta.8 → 0.1.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.
Files changed (138) hide show
  1. package/dist/components/render-aside/index.vue.css +9 -9
  2. package/dist/components/render-aside/index.vue.js +1 -1
  3. package/dist/components/render-auth/auth-dialog-fn.d.ts +2 -0
  4. package/dist/components/render-auth/auth-dialog-fn.ts.js +14 -0
  5. package/dist/components/render-auth/auth-dialog.script.vue.js.js +113 -0
  6. package/dist/components/render-auth/auth-dialog.vue.css +4 -0
  7. package/dist/components/render-auth/auth-dialog.vue.d.ts +5 -0
  8. package/dist/components/render-auth/auth-dialog.vue.js +4 -0
  9. package/dist/components/render-auto-height-textarea/index.vue.css +11 -11
  10. package/dist/components/render-auto-height-textarea/index.vue.d.ts +2 -2
  11. package/dist/components/render-auto-height-textarea/index.vue.js +1 -1
  12. package/dist/components/render-choose-tag/index.script.vue.js.js +242 -0
  13. package/dist/components/render-choose-tag/index.vue.css +39 -0
  14. package/dist/components/render-choose-tag/index.vue.d.ts +12 -0
  15. package/dist/components/render-choose-tag/index.vue.js +5 -0
  16. package/dist/components/render-collapse/index.vue.css +2 -2
  17. package/dist/components/render-collapse/index.vue.js +1 -1
  18. package/dist/components/render-dataset/components/edit-dataset-data/index.script.vue.js.js +163 -171
  19. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.css +3 -3
  20. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.d.ts +4 -0
  21. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.js +1 -1
  22. package/dist/components/render-dataset/components/operation-record/index.script.vue.js.js +88 -89
  23. package/dist/components/render-dataset/components/operation-record/index.vue.css +4 -4
  24. package/dist/components/render-dataset/components/operation-record/index.vue.d.ts +7 -1
  25. package/dist/components/render-dataset/components/operation-record/index.vue.js +1 -1
  26. package/dist/components/render-dataset/components/operation-record/table/index.script.vue.js.js +4 -3
  27. package/dist/components/render-dataset/components/operation-record/table/index.vue.css +1 -1
  28. package/dist/components/render-dataset/components/operation-record/table/index.vue.d.ts +1 -0
  29. package/dist/components/render-dataset/components/operation-record/table/index.vue.js +1 -1
  30. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.css +2 -2
  31. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.js +1 -1
  32. package/dist/components/render-dataset/components/plus-dataset/dataset-footer.script.vue.js.js +4 -3
  33. package/dist/components/render-dataset/components/plus-dataset/dataset-footer.vue.d.ts +3 -2
  34. package/dist/components/render-dataset/components/plus-dataset/dataset-form.script.vue.js +36 -20
  35. package/dist/components/render-dataset/components/plus-dataset/dataset-form.vue.d.ts +2 -0
  36. package/dist/components/render-dataset/components/plus-dataset/index.script.vue.js.js +63 -63
  37. package/dist/components/render-dataset/components/plus-dataset/index.vue.css +2 -2
  38. package/dist/components/render-dataset/components/plus-dataset/index.vue.d.ts +5 -0
  39. package/dist/components/render-dataset/components/plus-dataset/index.vue.js +1 -1
  40. package/dist/components/render-dataset/components/plus-dataset-data/form/dataset.script.vue.js.js +10 -3
  41. package/dist/components/render-dataset/components/plus-dataset-data/form/dataset.vue.d.ts +2 -0
  42. package/dist/components/render-dataset/components/plus-dataset-data/form/file.script.vue.js.js +4 -3
  43. package/dist/components/render-dataset/components/plus-dataset-data/form/file.vue.d.ts +1 -0
  44. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.script.vue.js.js +4 -3
  45. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.css +1 -1
  46. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.d.ts +1 -0
  47. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.js +1 -1
  48. package/dist/components/render-dataset/components/plus-dataset-data/form/index.script.vue.js.js +22 -6
  49. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.css +2 -2
  50. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.d.ts +2 -0
  51. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.js +1 -1
  52. package/dist/components/render-dataset/components/plus-dataset-data/form/manual.script.vue.js +15 -8
  53. package/dist/components/render-dataset/components/plus-dataset-data/form/manual.vue.css +1 -1
  54. package/dist/components/render-dataset/components/plus-dataset-data/form/manual.vue.d.ts +1 -0
  55. package/dist/components/render-dataset/components/plus-dataset-data/index.script.vue.js.js +49 -7
  56. package/dist/components/render-dataset/components/plus-dataset-data/index.vue.d.ts +3 -0
  57. package/dist/components/render-dataset/components/search-dataset/index.script.vue.js.js +11 -4
  58. package/dist/components/render-dataset/components/search-dataset/index.vue.d.ts +2 -0
  59. package/dist/components/render-dataset/components/source-type-icon/index.script.vue.js.js +2 -2
  60. package/dist/components/render-dataset/components/source-type-icon/index.vue.js +0 -2
  61. package/dist/components/render-dataset/index.script.vue.js.js +34 -8
  62. package/dist/components/render-dataset/index.vue.css +1 -1
  63. package/dist/components/render-dataset/index.vue.d.ts +2 -0
  64. package/dist/components/render-dataset/index.vue.js +1 -1
  65. package/dist/components/render-dataset-detail/components/header.script.vue.js.js +10 -35
  66. package/dist/components/render-dataset-detail/components/header.vue.d.ts +1 -2
  67. package/dist/components/render-dataset-detail/index.script.vue.js.js +98 -13
  68. package/dist/components/render-dataset-detail/index.vue.d.ts +2 -0
  69. package/dist/components/render-dataset-detail-origin-data/components/batch-operation/index.script.vue.js.js +49 -17
  70. package/dist/components/render-dataset-detail-origin-data/components/batch-operation/index.vue.d.ts +4 -0
  71. package/dist/components/render-dataset-detail-origin-data/components/table/index.script.vue.js +261 -170
  72. package/dist/components/render-dataset-detail-origin-data/components/table/index.vue.css +1 -1
  73. package/dist/components/render-dataset-detail-origin-data/components/table/index.vue.d.ts +3 -0
  74. package/dist/components/render-dataset-detail-origin-data/components/table/index.vue.js +1 -1
  75. package/dist/components/render-dataset-detail-origin-data/index.script.vue.js.js +33 -6
  76. package/dist/components/render-dataset-detail-origin-data/index.vue.css +3 -3
  77. package/dist/components/render-dataset-detail-origin-data/index.vue.d.ts +3 -0
  78. package/dist/components/render-dataset-detail-origin-data/index.vue.js +1 -1
  79. package/dist/components/render-dataset-list/components/main.script.vue.js.js +56 -13
  80. package/dist/components/render-dataset-list/components/main.vue.css +3 -3
  81. package/dist/components/render-dataset-list/components/main.vue.d.ts +4 -0
  82. package/dist/components/render-dataset-list/components/main.vue.js +1 -1
  83. package/dist/components/render-dataset-list/components/table.script.vue.js.js +408 -237
  84. package/dist/components/render-dataset-list/components/table.vue.d.ts +4 -0
  85. package/dist/components/render-dataset-list/index.script.vue.js.js +13 -2
  86. package/dist/components/render-dataset-list/index.vue.d.ts +4 -0
  87. package/dist/components/render-expand-collapse/index.vue.css +3 -3
  88. package/dist/components/render-expand-collapse/index.vue.js +1 -1
  89. package/dist/components/render-file-card/index.vue.css +11 -11
  90. package/dist/components/render-file-card/index.vue.js +1 -1
  91. package/dist/components/render-file-type-icon/index.vue.css +5 -5
  92. package/dist/components/render-file-type-icon/index.vue.js +1 -1
  93. package/dist/components/render-header/index.vue.css +5 -5
  94. package/dist/components/render-header/index.vue.js +1 -1
  95. package/dist/components/render-router-tab/index.vue.css +3 -3
  96. package/dist/components/render-router-tab/index.vue.js +1 -1
  97. package/dist/{component.d.ts → components.d.ts} +3 -1
  98. package/dist/{component.ts.js → components.ts.js} +3 -1
  99. package/dist/enums.d.ts +1 -0
  100. package/dist/enums.ts.js +1 -0
  101. package/dist/event/index.d.ts +3 -3
  102. package/dist/event/index.ts.js +2 -2
  103. package/dist/events.d.ts +1 -0
  104. package/dist/events.ts.js +1 -0
  105. package/dist/helpers.d.ts +1 -0
  106. package/dist/helpers.ts.js +1 -0
  107. package/dist/hooks/use-chat.d.ts +16 -0
  108. package/dist/hooks/use-chat.ts.js +1 -1
  109. package/dist/hooks/use-dataset-http.d.ts +3 -2
  110. package/dist/hooks/use-dataset-http.ts.js +69 -24
  111. package/dist/hooks/use-form-rule.d.ts +29 -0
  112. package/dist/hooks/use-form-rule.ts.js +101 -0
  113. package/dist/hooks/use-meta-http.d.ts +16 -0
  114. package/dist/hooks/use-meta-http.ts.js +83 -0
  115. package/dist/hooks/use-permission-http.d.ts +7 -0
  116. package/dist/hooks/use-permission-http.ts.js +26 -0
  117. package/dist/hooks/use-permission.d.ts +9 -0
  118. package/dist/hooks/use-permission.ts.js +100 -0
  119. package/dist/hooks.d.ts +9 -0
  120. package/dist/hooks.ts.js +9 -0
  121. package/dist/http/helper/dataset.ts.js +10 -2
  122. package/dist/http/helper/permission.d.ts +7 -1
  123. package/dist/http/helper/permission.ts.js +11 -1
  124. package/dist/https.d.ts +2 -0
  125. package/dist/https.ts.js +2 -0
  126. package/dist/transforms.d.ts +4 -0
  127. package/dist/transforms.ts.js +4 -0
  128. package/dist/types/dataset.d.ts +11 -1
  129. package/dist/types/enum.d.ts +47 -1
  130. package/dist/types/enum.ts.js +49 -0
  131. package/dist/types/meta.d.ts +3 -0
  132. package/dist/types/permission.d.ts +43 -0
  133. package/dist/types.d.ts +6 -0
  134. package/dist/types.ts.js +6 -0
  135. package/package.json +34 -10
  136. package/dist/components/render-dataset/components/source-type-icon/index.vue.css +0 -10
  137. package/dist/main.d.ts +0 -22
  138. package/dist/main.ts.js +0 -28
@@ -1,21 +1,51 @@
1
1
  import { defineComponent as _defineComponent } from 'vue';
2
2
  import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
3
- import { ref } from 'vue';
3
+ import { ref, toRef } from 'vue';
4
4
  import RenderForm from './form/index.vue.js';
5
+ import { ResourcePermissionAction } from '../../../../enums.ts.js';
6
+ import { usePermission } from '../../../../hooks/use-permission.ts.js';
5
7
  export default /*@__PURE__*/ _defineComponent({
6
8
  props: {
7
9
  datasetData: {},
8
10
  disabledChooseDataset: {
9
11
  type: Boolean
10
12
  },
11
- apiPrefix: {}
13
+ apiPrefix: {},
14
+ spaceId: {},
15
+ manageDataset: {
16
+ type: Boolean
17
+ },
18
+ isInternal: {
19
+ type: Boolean
20
+ }
12
21
  },
13
22
  emits: [
14
23
  "success-plus"
15
24
  ],
16
25
  setup (__props, { emit: __emit }) {
26
+ const props = __props;
17
27
  const emits = __emit;
28
+ const { handleMouseEnter, handleMouseMove, handleMouseLeave, handleMouseClick } = usePermission(props.apiPrefix, toRef(props, 'spaceId'), '#4d4f56');
18
29
  const isShow = ref(false);
30
+ const handleCalcHasManagePermission = ()=>{
31
+ return !props.isInternal || props.manageDataset;
32
+ };
33
+ const handlePermissionMouseEnter = ()=>{
34
+ handleMouseEnter(handleCalcHasManagePermission());
35
+ };
36
+ const handlePermissionMouseMove = (event)=>{
37
+ handleMouseMove(event, handleCalcHasManagePermission());
38
+ };
39
+ const handlePermissionMouseLeave = ()=>{
40
+ handleMouseLeave();
41
+ };
42
+ const handlePermissionMouseClick = (callback)=>{
43
+ var _props_datasetData;
44
+ handleMouseClick(callback, handleCalcHasManagePermission(), [
45
+ ResourcePermissionAction.ManageDataset,
46
+ ResourcePermissionAction.ViewDataset
47
+ ], (_props_datasetData = props.datasetData) === null || _props_datasetData === void 0 ? void 0 : _props_datasetData.datasetId);
48
+ };
19
49
  const handleShowForm = ()=>{
20
50
  isShow.value = true;
21
51
  };
@@ -26,28 +56,40 @@ export default /*@__PURE__*/ _defineComponent({
26
56
  const _component_bk_button = _resolveComponent("bk-button");
27
57
  return _openBlock(), _createElementBlock(_Fragment, null, [
28
58
  _createVNode(_component_bk_button, _mergeProps(_ctx.$attrs, {
59
+ class: {
60
+ 'g-disabled': !handleCalcHasManagePermission()
61
+ },
29
62
  theme: "primary",
30
- onClick: handleShowForm
63
+ onMouseenter: handlePermissionMouseEnter,
64
+ onMousemove: handlePermissionMouseMove,
65
+ onMouseleave: handlePermissionMouseLeave,
66
+ onClick: _cache[0] || (_cache[0] = ($event)=>handlePermissionMouseClick(handleShowForm))
31
67
  }), {
32
- default: _withCtx(()=>_cache[1] || (_cache[1] = [
68
+ default: _withCtx(()=>_cache[2] || (_cache[2] = [
33
69
  _createTextVNode(" 添加数据 ")
34
70
  ])),
35
71
  _: 1 /* STABLE */ ,
36
72
  __: [
37
- 1
73
+ 2
38
74
  ]
39
- }, 16 /* FULL_PROPS */ ),
75
+ }, 16 /* FULL_PROPS */ , [
76
+ "class"
77
+ ]),
40
78
  _createVNode(RenderForm, {
41
79
  "is-show": isShow.value,
42
- "onUpdate:isShow": _cache[0] || (_cache[0] = ($event)=>isShow.value = $event),
80
+ "onUpdate:isShow": _cache[1] || (_cache[1] = ($event)=>isShow.value = $event),
43
81
  "dataset-data": _ctx.datasetData,
44
82
  "api-prefix": _ctx.apiPrefix,
83
+ "space-id": _ctx.spaceId,
84
+ "is-internal": _ctx.isInternal,
45
85
  "disabled-choose-dataset": _ctx.disabledChooseDataset,
46
86
  onSuccessConfirm: handleSuccessPlus
47
87
  }, null, 8 /* PROPS */ , [
48
88
  "is-show",
49
89
  "dataset-data",
50
90
  "api-prefix",
91
+ "space-id",
92
+ "is-internal",
51
93
  "disabled-choose-dataset"
52
94
  ])
53
95
  ], 64 /* STABLE_FRAGMENT */ );
@@ -3,6 +3,9 @@ interface IProps {
3
3
  datasetData?: Partial<IDatasetDataForm>;
4
4
  disabledChooseDataset?: boolean;
5
5
  apiPrefix: string;
6
+ spaceId?: string;
7
+ manageDataset?: boolean;
8
+ isInternal?: boolean;
6
9
  }
7
10
  declare const _default: import("vue").DefineComponent<IProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
11
  "success-plus": () => any;
@@ -29,13 +29,17 @@ function _async_to_generator(fn) {
29
29
  }
30
30
  import { defineComponent as _defineComponent } from 'vue';
31
31
  import { openBlock as _openBlock, createBlock as _createBlock } from "vue";
32
- import { ref } from 'vue';
32
+ import { ref, toRef } from 'vue';
33
33
  import RenderSearchSelect from '../../../render-search-select/index.vue.js';
34
34
  import { useDatasetHttp } from '../../../../hooks/use-dataset-http.ts.js';
35
35
  export default /*@__PURE__*/ _defineComponent({
36
36
  props: {
37
37
  modelValue: {},
38
- apiPrefix: {}
38
+ apiPrefix: {},
39
+ spaceId: {},
40
+ isInternal: {
41
+ type: Boolean
42
+ }
39
43
  },
40
44
  emits: [
41
45
  "update:modelValue"
@@ -43,7 +47,7 @@ export default /*@__PURE__*/ _defineComponent({
43
47
  setup (__props, { emit: __emit }) {
44
48
  const props = __props;
45
49
  const emits = __emit;
46
- const { getSchemaList, getComponentList } = useDatasetHttp(props.apiPrefix);
50
+ const { getSchemaList, getComponentList } = useDatasetHttp(props.apiPrefix, toRef(props, 'spaceId'));
47
51
  const data = ref([
48
52
  {
49
53
  id: 'datasetName',
@@ -60,7 +64,10 @@ export default /*@__PURE__*/ _defineComponent({
60
64
  async: true,
61
65
  children: []
62
66
  },
63
- {
67
+ props.isInternal ? {
68
+ id: 'tagName',
69
+ name: '标签'
70
+ } : {
64
71
  id: 'componentIds',
65
72
  name: '组件',
66
73
  multiple: true,
@@ -2,6 +2,8 @@ import type { IDatasetListParam } from '@/types/dataset';
2
2
  interface IProps {
3
3
  modelValue: IDatasetListParam;
4
4
  apiPrefix: string;
5
+ spaceId?: string;
6
+ isInternal?: boolean;
5
7
  }
6
8
  declare const _default: import("vue").DefineComponent<IProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
7
9
  "update:modelValue": (modelValue: IDatasetListParam) => any;
@@ -12,10 +12,10 @@ export default /*@__PURE__*/ _defineComponent({
12
12
  let icon = '';
13
13
  switch(props.sourceType){
14
14
  case DatasetDataSourceType.UploadFile:
15
- icon = 'ai-ui-sdk-icon ai-ui-sdk-wenben';
15
+ icon = 'ai-ui-sdk-icon ai-ui-sdk-wenben g-text-14 g-mr-2 g-text-gray';
16
16
  break;
17
17
  case DatasetDataSourceType.ManualImport:
18
- icon = 'ai-ui-sdk-icon ai-ui-sdk-markdown';
18
+ icon = 'ai-ui-sdk-icon ai-ui-sdk-markdown g-text-14 g-mr-2 g-text-gray';
19
19
  break;
20
20
  }
21
21
  return icon;
@@ -1,5 +1,3 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-lbqd0pzo";
3
2
  script.__file = "./src/components/render-dataset/components/source-type-icon/index.vue";
4
- import './index.vue.css';
5
3
  export default script;
@@ -6,38 +6,54 @@ const _hoisted_1 = {
6
6
  const _hoisted_2 = {
7
7
  class: "dataset-main"
8
8
  };
9
- import { onBeforeMount, ref } from 'vue';
10
- import { useRouter } from 'vue-router';
9
+ import { ref, toRef, watch } from 'vue';
10
+ import { useRoute, useRouter } from 'vue-router';
11
11
  import RenderAside from '../render-aside/index.vue.js';
12
12
  import RenderExpandCollapse from '../render-expand-collapse/index.vue.js';
13
13
  import { useDatasetHttp } from '../../hooks/use-dataset-http.ts.js';
14
+ import { EnumCharacter } from '../../types/enum.ts.js';
14
15
  export default /*@__PURE__*/ _defineComponent({
15
16
  props: {
16
- apiPrefix: {}
17
+ apiPrefix: {},
18
+ spaceId: {},
19
+ isInternal: {
20
+ type: Boolean
21
+ }
17
22
  },
18
23
  setup (__props) {
19
24
  const props = __props;
25
+ const route = useRoute();
20
26
  const router = useRouter();
21
- const { getDatasetMineInfo } = useDatasetHttp(props.apiPrefix);
27
+ const { getDatasetMineInfo } = useDatasetHttp(props.apiPrefix, toRef(props, 'spaceId'));
22
28
  const tabs = ref([
23
29
  {
24
30
  name: '数据集',
25
31
  children: [
26
32
  {
27
- id: 'all',
33
+ id: EnumCharacter.All,
28
34
  name: '全部数据集',
29
35
  number: 0
30
- }
36
+ },
37
+ ...props.isInternal ? [
38
+ {
39
+ id: EnumCharacter.User,
40
+ name: '我的数据集',
41
+ number: 0
42
+ }
43
+ ] : []
31
44
  ]
32
45
  }
33
46
  ]);
34
- const tabId = ref('all');
47
+ const tabId = ref(EnumCharacter.All);
35
48
  const isOpen = ref(true);
36
49
  const loading = ref(false);
37
50
  const handleGetDatasetMineInfo = ()=>{
38
51
  loading.value = true;
39
52
  getDatasetMineInfo().then((data)=>{
40
53
  tabs.value[0].children[0].number = data.all;
54
+ if (props.isInternal) {
55
+ tabs.value[0].children[1].number = data.user;
56
+ }
41
57
  }).finally(()=>{
42
58
  loading.value = false;
43
59
  });
@@ -54,7 +70,17 @@ export default /*@__PURE__*/ _defineComponent({
54
70
  handleGetDatasetMineInfo();
55
71
  handleGoToDatasetData(data);
56
72
  };
57
- onBeforeMount(handleGetDatasetMineInfo);
73
+ watch(()=>props.spaceId, handleGetDatasetMineInfo, {
74
+ immediate: true
75
+ });
76
+ const handleTabChange = ()=>{
77
+ if (route.name !== 'dataset-list') {
78
+ router.push({
79
+ name: 'dataset-list'
80
+ });
81
+ }
82
+ };
83
+ watch(()=>tabId.value, handleTabChange);
58
84
  return (_ctx, _cache)=>{
59
85
  const _component_router_view = _resolveComponent("router-view");
60
86
  const _directive_bkloading = _resolveDirective("bkloading");
@@ -1,5 +1,5 @@
1
1
 
2
- .dataset-main[data-v-mo8cghte] {
2
+ .dataset-main[data-v-6o9yf1z6] {
3
3
  flex: 1;
4
4
  width: calc(100vw - 300px);
5
5
  height: 100%;
@@ -1,5 +1,7 @@
1
1
  interface IProps {
2
2
  apiPrefix: string;
3
+ spaceId?: string;
4
+ isInternal?: boolean;
3
5
  }
4
6
  declare const _default: import("vue").DefineComponent<IProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
7
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-mo8cghte";
2
+ script.__scopeId = "data-v-6o9yf1z6";
3
3
  script.__file = "./src/components/render-dataset/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,60 +1,35 @@
1
1
  import { defineComponent as _defineComponent } from 'vue';
2
- import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from "vue";
2
+ import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from "vue";
3
3
  const _hoisted_1 = {
4
+ class: "g-flex-row g-height-full g-ml-24"
5
+ };
6
+ const _hoisted_2 = {
4
7
  class: "g-text-16 g-text-black"
5
8
  };
6
- import { onBeforeMount, ref } from 'vue';
7
9
  import { useRouter } from 'vue-router';
8
10
  import RenderHeader from '../../render-header/index.vue.js';
9
- import { useDatasetHttp } from '../../../hooks/use-dataset-http.ts.js';
10
11
  export default /*@__PURE__*/ _defineComponent({
11
12
  props: {
12
- apiPrefix: {},
13
- datasetId: {}
13
+ datasetName: {}
14
14
  },
15
15
  setup (__props) {
16
- const props = __props;
17
- const { getDataset } = useDatasetHttp(props.apiPrefix);
18
16
  const router = useRouter();
19
- const loading = ref(false);
20
- const dataset = ref();
21
17
  const handleGoToList = ()=>{
22
18
  router.push({
23
19
  name: 'dataset-list'
24
20
  });
25
21
  };
26
- const handleInit = ()=>{
27
- loading.value = true;
28
- getDataset(props.datasetId).then((data)=>{
29
- dataset.value = data;
30
- }).finally(()=>{
31
- loading.value = false;
32
- });
33
- };
34
- onBeforeMount(handleInit);
35
22
  return (_ctx, _cache)=>{
36
- const _component_bk_loading = _resolveComponent("bk-loading");
37
23
  return _openBlock(), _createBlock(RenderHeader, {
38
24
  "show-search": false
39
25
  }, {
40
26
  title: _withCtx(()=>[
41
- _createVNode(_component_bk_loading, {
42
- class: "g-flex-row g-height-full g-ml-24",
43
- loading: loading.value
44
- }, {
45
- default: _withCtx(()=>{
46
- var _dataset_value;
47
- return [
48
- _createElementVNode("i", {
49
- class: "ai-ui-sdk-icon ai-ui-sdk-arrow-left g-text-20 g-text-blue g-cursor-pointer g-mr-8",
50
- onClick: handleGoToList
51
- }),
52
- _createElementVNode("span", _hoisted_1, _toDisplayString((_dataset_value = dataset.value) === null || _dataset_value === void 0 ? void 0 : _dataset_value.datasetName), 1 /* TEXT */ )
53
- ];
27
+ _createElementVNode("section", _hoisted_1, [
28
+ _createElementVNode("i", {
29
+ class: "ai-ui-sdk-icon ai-ui-sdk-arrow-left g-text-20 g-text-blue g-cursor-pointer g-mr-8",
30
+ onClick: handleGoToList
54
31
  }),
55
- _: 1 /* STABLE */
56
- }, 8 /* PROPS */ , [
57
- "loading"
32
+ _createElementVNode("span", _hoisted_2, _toDisplayString(_ctx.datasetName), 1 /* TEXT */ )
58
33
  ])
59
34
  ]),
60
35
  _: 1 /* STABLE */
@@ -1,6 +1,5 @@
1
1
  interface IProps {
2
- apiPrefix: string;
3
- datasetId: number;
2
+ datasetName: string;
4
3
  }
5
4
  declare const _default: import("vue").DefineComponent<IProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
5
  export default _default;
@@ -1,26 +1,111 @@
1
1
  import { defineComponent as _defineComponent } from 'vue';
2
- import { createVNode as _createVNode, resolveComponent as _resolveComponent, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
2
+ import { createVNode as _createVNode, resolveDynamicComponent as _resolveDynamicComponent, openBlock as _openBlock, createBlock as _createBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, Fragment as _Fragment, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from "vue";
3
+ import { Message } from 'bkui-vue';
4
+ import { onBeforeMount, ref, toRef } from 'vue';
5
+ import { useRouter } from 'vue-router';
3
6
  import RenderHeader from './components/header.vue.js';
4
7
  import RenderTab from './components/tab.vue.js';
8
+ import { useDatasetHttp } from '../../hooks/use-dataset-http.ts.js';
9
+ import { HttpErrorCode } from '../../types/enum.ts.js';
5
10
  export default /*@__PURE__*/ _defineComponent({
6
11
  props: {
7
12
  apiPrefix: {},
8
- datasetId: {}
13
+ datasetId: {},
14
+ spaceId: {},
15
+ isInternal: {
16
+ type: Boolean
17
+ }
9
18
  },
10
19
  setup (__props) {
20
+ const props = __props;
21
+ const router = useRouter();
22
+ const loading = ref(false);
23
+ const dataset = ref();
24
+ const { getDataset } = useDatasetHttp(props.apiPrefix, toRef(props, 'spaceId'));
25
+ const handleGoToNotFound = ()=>{
26
+ router.push({
27
+ name: 'dataset-detail-not-found'
28
+ });
29
+ };
30
+ const handleNoPermission = (data)=>{
31
+ const cancelCallback = ()=>{
32
+ router.push({
33
+ name: 'dataset-list'
34
+ });
35
+ };
36
+ import('../render-auth/auth-dialog-fn.ts.js').then(({ renderAuthDialog })=>{
37
+ renderAuthDialog(data, cancelCallback);
38
+ });
39
+ };
40
+ const handleForbidden = (message)=>{
41
+ Message({
42
+ theme: 'error',
43
+ message,
44
+ width: 'auto'
45
+ });
46
+ router.push({
47
+ name: 'dataset-list'
48
+ });
49
+ };
50
+ const handleInit = ()=>{
51
+ loading.value = true;
52
+ getDataset(props.datasetId).then((data)=>{
53
+ dataset.value = data;
54
+ }).catch((error)=>{
55
+ if (error.code === HttpErrorCode.NotFound) {
56
+ handleGoToNotFound();
57
+ } else if (error.code === HttpErrorCode.IamNoPermission) {
58
+ handleNoPermission(error.response);
59
+ } else if (error.code === HttpErrorCode.Forbidden) {
60
+ handleForbidden(error.message);
61
+ } else {
62
+ Message({
63
+ theme: 'error',
64
+ message: error.message,
65
+ width: 'auto'
66
+ });
67
+ }
68
+ }).finally(()=>{
69
+ loading.value = false;
70
+ });
71
+ };
72
+ onBeforeMount(handleInit);
11
73
  return (_ctx, _cache)=>{
12
74
  const _component_router_view = _resolveComponent("router-view");
13
- return _openBlock(), _createElementBlock(_Fragment, null, [
14
- _createVNode(RenderHeader, {
15
- "api-prefix": _ctx.apiPrefix,
16
- "dataset-id": _ctx.datasetId
17
- }, null, 8 /* PROPS */ , [
18
- "api-prefix",
19
- "dataset-id"
20
- ]),
21
- _createVNode(RenderTab),
22
- _createVNode(_component_router_view)
23
- ], 64 /* STABLE_FRAGMENT */ );
75
+ const _component_bk_loading = _resolveComponent("bk-loading");
76
+ return _openBlock(), _createBlock(_component_bk_loading, {
77
+ class: "g-height-full",
78
+ loading: loading.value
79
+ }, {
80
+ default: _withCtx(()=>[
81
+ dataset.value ? (_openBlock(), _createElementBlock(_Fragment, {
82
+ key: 0
83
+ }, [
84
+ _createVNode(RenderHeader, {
85
+ "dataset-name": dataset.value.datasetName
86
+ }, null, 8 /* PROPS */ , [
87
+ "dataset-name"
88
+ ]),
89
+ _createVNode(RenderTab),
90
+ _createVNode(_component_router_view, null, {
91
+ default: _withCtx(({ Component })=>{
92
+ var _dataset_value_permission;
93
+ return [
94
+ (_openBlock(), _createBlock(_resolveDynamicComponent(Component), {
95
+ "manage-dataset": ((_dataset_value_permission = dataset.value.permission) === null || _dataset_value_permission === void 0 ? void 0 : _dataset_value_permission.manageDataset) || !_ctx.isInternal
96
+ }, null, 8 /* PROPS */ , [
97
+ "manage-dataset"
98
+ ]))
99
+ ];
100
+ }),
101
+ _: 1 /* STABLE */
102
+ })
103
+ ], 64 /* STABLE_FRAGMENT */ )) : _createCommentVNode("v-if", true)
104
+ ]),
105
+ _: 1 /* STABLE */
106
+ }, 8 /* PROPS */ , [
107
+ "loading"
108
+ ]);
24
109
  };
25
110
  }
26
111
  });
@@ -1,6 +1,8 @@
1
1
  interface IProps {
2
2
  apiPrefix: string;
3
3
  datasetId: number;
4
+ spaceId?: string;
5
+ isInternal?: boolean;
4
6
  }
5
7
  declare const _default: import("vue").DefineComponent<IProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
8
  export default _default;
@@ -1,12 +1,22 @@
1
1
  import { defineComponent as _defineComponent } from 'vue';
2
- import { unref as _unref, createVNode as _createVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, createBlock as _createBlock } from "vue";
2
+ import { unref as _unref, createVNode as _createVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveDirective as _resolveDirective, openBlock as _openBlock, createElementBlock as _createElementBlock, withDirectives as _withDirectives, createBlock as _createBlock } from "vue";
3
3
  import { AngleDown } from 'bkui-vue/lib/icon';
4
- import { ref } from 'vue';
4
+ import { ref, toRef } from 'vue';
5
5
  import { useDatasetHttp } from '../../../../hooks/use-dataset-http.ts.js';
6
+ import { usePermission } from '../../../../hooks/use-permission.ts.js';
7
+ import { ResourcePermissionAction } from '../../../../types/enum.ts.js';
6
8
  export default /*@__PURE__*/ _defineComponent({
7
9
  props: {
8
10
  selectedDatasetDatas: {},
9
- apiPrefix: {}
11
+ apiPrefix: {},
12
+ spaceId: {},
13
+ datasetId: {},
14
+ manageDataset: {
15
+ type: Boolean
16
+ },
17
+ isInternal: {
18
+ type: Boolean
19
+ }
10
20
  },
11
21
  emits: [
12
22
  "update:selectedDatasetDatas",
@@ -15,8 +25,22 @@ export default /*@__PURE__*/ _defineComponent({
15
25
  setup (__props, { emit: __emit }) {
16
26
  const props = __props;
17
27
  const emits = __emit;
18
- const { batchDeleteDatasetData } = useDatasetHttp(props.apiPrefix);
28
+ const { batchDeleteDatasetData } = useDatasetHttp(props.apiPrefix, toRef(props, 'spaceId'));
29
+ const { handleMouseEnter, handleMouseMove, handleMouseLeave, handleMouseClick } = usePermission(props.apiPrefix, toRef(props, 'spaceId'), '#4d4f56');
19
30
  const showMore = ref(false);
31
+ const deleteRef = ref();
32
+ const handleCalcHasManagePermission = ()=>{
33
+ return !props.isInternal || props.manageDataset;
34
+ };
35
+ const handlePermissionMouseClick = ()=>{
36
+ handleMouseClick(handleShowDelete, handleCalcHasManagePermission(), [
37
+ ResourcePermissionAction.ManageDataset,
38
+ ResourcePermissionAction.ViewDataset
39
+ ], props.datasetId);
40
+ };
41
+ const handleShowDelete = ()=>{
42
+ deleteRef.value.popoverRef.show();
43
+ };
20
44
  const handleShowMore = ()=>{
21
45
  showMore.value = true;
22
46
  };
@@ -24,7 +48,7 @@ export default /*@__PURE__*/ _defineComponent({
24
48
  showMore.value = false;
25
49
  };
26
50
  const handleDeleteDatasetDatas = ()=>{
27
- batchDeleteDatasetData(props.selectedDatasetDatas.map((item)=>item.id)).then(()=>{
51
+ batchDeleteDatasetData(props.selectedDatasetDatas.map((item)=>item.id), props.datasetId).then(()=>{
28
52
  emits('update:selectedDatasetDatas', []);
29
53
  emits('success-delete');
30
54
  });
@@ -51,21 +75,29 @@ export default /*@__PURE__*/ _defineComponent({
51
75
  })
52
76
  }, [
53
77
  _createVNode(_component_bk_pop_confirm, {
54
- trigger: "click",
78
+ trigger: "manual",
55
79
  title: "确认删除?",
56
80
  content: "删除操作无法撤回,请谨慎操作!",
57
- "ext-cls": "g-confirm-delete",
58
81
  placement: "right",
82
+ "ext-cls": "g-confirm-delete",
83
+ ref_key: "deleteRef",
84
+ ref: deleteRef,
59
85
  onConfirm: handleDeleteDatasetDatas
60
86
  }, {
61
- default: _withCtx(()=>_cache[1] || (_cache[1] = [
62
- _createElementVNode("li", null, " 删除数据 ", -1 /* HOISTED */ )
63
- ])),
64
- _: 1 /* STABLE */ ,
65
- __: [
66
- 1
67
- ]
68
- })
87
+ default: _withCtx(()=>[
88
+ _createElementVNode("li", {
89
+ class: _normalizeClass({
90
+ 'g-disabled': !handleCalcHasManagePermission()
91
+ }),
92
+ onMouseenter: _cache[0] || (_cache[0] = ($event)=>_unref(handleMouseEnter)(handleCalcHasManagePermission())),
93
+ onMousemove: _cache[1] || (_cache[1] = (event)=>_unref(handleMouseMove)(event, handleCalcHasManagePermission())),
94
+ onMouseleave: _cache[2] || (_cache[2] = //@ts-ignore
95
+ (...args)=>_unref(handleMouseLeave) && _unref(handleMouseLeave)(...args)),
96
+ onClick: handlePermissionMouseClick
97
+ }, " 删除 ", 34 /* CLASS, NEED_HYDRATION */ )
98
+ ]),
99
+ _: 1 /* STABLE */
100
+ }, 512 /* NEED_PATCH */ )
69
101
  ], 2 /* CLASS */ )), [
70
102
  [
71
103
  _directive_clickoutside,
@@ -79,14 +111,14 @@ export default /*@__PURE__*/ _defineComponent({
79
111
  onClick: handleShowMore
80
112
  }, {
81
113
  default: _withCtx(()=>[
82
- _cache[0] || (_cache[0] = _createTextVNode(" 批量操作 ")),
114
+ _cache[3] || (_cache[3] = _createTextVNode(" 批量操作 ")),
83
115
  _createVNode(_unref(AngleDown), {
84
116
  class: "g-text-22"
85
117
  })
86
118
  ]),
87
119
  _: 1 /* STABLE */ ,
88
120
  __: [
89
- 0
121
+ 3
90
122
  ]
91
123
  }, 8 /* PROPS */ , [
92
124
  "disabled"
@@ -2,6 +2,10 @@ import type { IDatasetData } from '@/types/dataset';
2
2
  interface IProps {
3
3
  selectedDatasetDatas: IDatasetData[];
4
4
  apiPrefix: string;
5
+ spaceId?: string;
6
+ datasetId: number;
7
+ manageDataset?: boolean;
8
+ isInternal?: boolean;
5
9
  }
6
10
  declare const _default: import("vue").DefineComponent<IProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
7
11
  "update:selectedDatasetDatas": (selectedDatasetDatas: IDatasetData[]) => any;