@tager/admin-files 0.0.5 → 1.0.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.
Files changed (47) hide show
  1. package/dist/constants/paths.d.ts +4 -4
  2. package/dist/constants/routes.d.ts +3 -3
  3. package/dist/dev/App.vue.d.ts +5 -0
  4. package/dist/dev/config.d.ts +2 -0
  5. package/dist/dev/env.d.ts +1 -0
  6. package/dist/dev/main.d.ts +3 -0
  7. package/dist/index.mjs +330 -0
  8. package/dist/locales/apply.d.ts +1 -0
  9. package/dist/locales/en.d.ts +18 -19
  10. package/dist/locales/ru.d.ts +2 -3
  11. package/dist/main.d.ts +3 -3
  12. package/dist/services/requests.d.ts +16 -16
  13. package/dist/typings/model.d.ts +14 -14
  14. package/dist/utils/paths.d.ts +4 -4
  15. package/dist/views/FilesForm/FilesForm.helpers.d.ts +2 -2
  16. package/dist/views/FilesForm/FilesForm.vue.d.ts +22 -50
  17. package/dist/views/FilesForm/index.d.ts +1 -1
  18. package/dist/views/FilesList/FilesList.vue.d.ts +18 -38
  19. package/dist/views/FilesList/index.d.ts +1 -1
  20. package/package.json +51 -48
  21. package/src/constants/routes.ts +10 -10
  22. package/src/dev/App.vue +38 -0
  23. package/src/dev/config.ts +23 -0
  24. package/src/dev/env.ts +17 -0
  25. package/src/dev/main.ts +36 -0
  26. package/src/locales/apply.ts +9 -0
  27. package/src/locales/en.ts +1 -3
  28. package/src/locales/ru.ts +2 -4
  29. package/src/main.ts +2 -6
  30. package/src/views/FilesForm/FilesForm.vue +30 -22
  31. package/src/views/FilesList/FilesList.vue +29 -28
  32. package/README.md +0 -1
  33. package/dist/dev.d.ts +0 -1
  34. package/dist/index.esm.js +0 -850
  35. package/dist/index.umd.js +0 -862
  36. package/dist/node_modules/@tager/admin-ui/src/utils/common.d.ts +0 -59
  37. package/dist/src/dev.d.ts +0 -1
  38. package/dist/src/typings/model.d.ts +0 -14
  39. package/dist/views/FilesList/components/UrlCell/UrlCell.vue.d.ts +0 -169
  40. package/dist/views/FilesList/components/UrlCell/index.d.ts +0 -1
  41. package/src/dev.ts +0 -41
  42. package/src/typings/sfc.d.ts +0 -12
  43. package/src/typings/shims-tsx.d.ts +0 -13
  44. package/src/typings/shims-vue.d.ts +0 -11
  45. package/src/views/App.vue +0 -36
  46. package/src/views/FilesList/components/UrlCell/UrlCell.vue +0 -68
  47. package/src/views/FilesList/components/UrlCell/index.ts +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tager/admin-files",
3
- "version": "0.0.5",
3
+ "version": "1.0.0",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.umd.js",
6
6
  "module": "dist/index.esm.js",
@@ -10,63 +10,66 @@
10
10
  "typings",
11
11
  "src"
12
12
  ],
13
+ "exports": {
14
+ "./css": "./dist/style.css",
15
+ ".": "./dist/index.mjs"
16
+ },
13
17
  "scripts": {
18
+ "build:js": "vite build",
19
+ "build:package": "concurrently --success first \"yarn build:js\" \"yarn emit-declarations\"",
20
+ "emit-declarations": "vue-tsc --project tsconfig.json --emitDeclarationOnly",
14
21
  "start": "vue-cli-service serve",
15
- "lint": "vue-cli-service lint",
16
- "build": "rollup --config",
17
- "prepare": "vue-docgen-web-types && yarn build",
18
- "tager:update": "node scripts/tager-update.js",
19
- "yalc:clean": "yalc remove --all"
22
+ "prepare": "yarn build:package",
23
+ "tager:update": "yarn upgrade --latest --scope @tager"
20
24
  },
21
25
  "dependencies": {
22
- "filesize": "^7.0.0",
26
+ "filesize": "^9.0.11",
27
+ "lodash.isequal": "^4.5.0",
23
28
  "lodash.kebabcase": "^4.1.1",
29
+ "lodash.pick": "^4.4.0",
24
30
  "path-to-regexp": "^6.1.0"
25
31
  },
26
32
  "devDependencies": {
27
- "@rollup/plugin-commonjs": "^14.0.0",
28
- "@rollup/plugin-node-resolve": "^8.1.0",
29
- "@tager/admin-layout": "^0.5.1",
30
- "@tager/admin-services": "^0.2.23",
31
- "@tager/admin-ui": "^0.8.78",
32
- "@types/lodash.kebabcase": "^4.1.6",
33
- "@types/node": "12.x",
34
- "@typescript-eslint/eslint-plugin": "^2.26.0",
35
- "@typescript-eslint/parser": "^2.26.0",
36
- "@vue/cli-plugin-babel": "~4.4.6",
37
- "@vue/cli-plugin-eslint": "~4.4.6",
38
- "@vue/cli-plugin-router": "~4.4.6",
39
- "@vue/cli-plugin-typescript": "~4.4.6",
40
- "@vue/cli-service": "~4.4.6",
41
- "@vue/composition-api": "^1.0.0-beta.14",
42
- "@vue/eslint-config-prettier": "^6.0.0",
43
- "@vue/eslint-config-typescript": "^5.0.2",
44
- "babel-eslint": "^10.1.0",
45
- "core-js": "^3.6.5",
46
- "eslint": "^6.7.2",
47
- "eslint-plugin-import": "^2.22.0",
48
- "eslint-plugin-prettier": "^3.1.4",
49
- "eslint-plugin-vue": "^6.2.2",
50
- "prettier": "^2.0.5",
51
- "rollup": "^2.23.1",
52
- "rollup-plugin-typescript2": "^0.27.2",
53
- "rollup-plugin-vue": "^5.1.9",
54
- "sass-loader": "^9.0.3",
55
- "typescript": "~3.9.6",
56
- "vue": "2.6.x",
57
- "vue-docgen-web-types": "^0.1.6",
58
- "vue-router": "^3.5.1",
59
- "vue-template-compiler": "^2.6.11"
33
+ "@babel/core": "^7.17.9",
34
+ "@babel/eslint-parser": "^7.17.0",
35
+ "@rushstack/eslint-patch": "^1.1.2",
36
+ "@tager/admin-dynamic-field": "^1.0.0",
37
+ "@tager/admin-layout": "^1.0.0",
38
+ "@tager/admin-services": "^1.0.0",
39
+ "@tager/admin-ui": "^1.0.1",
40
+ "@types/filesize": "^5.0.0",
41
+ "@types/lodash.isequal": "^4.5.6",
42
+ "@types/lodash.pick": "^4.4.7",
43
+ "@types/node": "16.x",
44
+ "@typescript-eslint/eslint-plugin": "^5.21.0",
45
+ "@typescript-eslint/parser": "^5.21.0",
46
+ "@vitejs/plugin-vue": "^2.3.1",
47
+ "@vue/cli-plugin-babel": "^5.0.4",
48
+ "@vue/cli-plugin-typescript": "^5.0.4",
49
+ "@vue/cli-service": "~5.0.0",
50
+ "@vue/eslint-config-prettier": "^7.0.0",
51
+ "@vue/eslint-config-typescript": "^10.0.0",
52
+ "concurrently": "^7.1.0",
53
+ "core-js": "^3.22.3",
54
+ "eslint": "^8.14.0",
55
+ "eslint-config-prettier": "^8.5.0",
56
+ "eslint-plugin-import": "^2.26.0",
57
+ "eslint-plugin-prettier": "^4.0.0",
58
+ "eslint-plugin-vue": "^8.7.1",
59
+ "sass": "^1.51.0",
60
+ "sass-loader": "^12.6.0",
61
+ "typescript": "^4.6.3",
62
+ "vite": "^2.9.6",
63
+ "vue": "^3.2.31",
64
+ "vue-router": "^4.0.14",
65
+ "vue-tsc": "^0.34.10"
60
66
  },
61
67
  "peerDependencies": {
62
- "@tager/admin-layout": ">=0.4.2",
63
- "@tager/admin-services": ">=0.2.11",
64
- "@tager/admin-ui": ">=0.7.5",
65
- "@vue/composition-api": ">=1.0.0-beta.14",
66
- "vue": "2.6.x"
67
- },
68
- "resolutions": {
69
- "prettier": "2.x"
68
+ "@tager/admin-layout": "^1.0.0",
69
+ "@tager/admin-services": "^1.0.0",
70
+ "@tager/admin-ui": "^1.0.1",
71
+ "vue": "^3.2.31",
72
+ "vue-router": "^4.0.14"
70
73
  },
71
74
  "publishConfig": {
72
75
  "access": "public"
@@ -1,31 +1,31 @@
1
- import { CustomRouteConfig } from '@tager/admin-layout';
1
+ import type { RouteRecordRaw } from 'vue-router';
2
2
 
3
3
  import FilesList from '../views/FilesList';
4
4
  import FilesForm from '../views/FilesForm';
5
5
 
6
6
  import { FILES_ROUTE_PATHS } from './paths';
7
7
 
8
- export const FILES_LIST_ROUTE: CustomRouteConfig = {
8
+ export const FILES_LIST_ROUTE: RouteRecordRaw = {
9
9
  path: FILES_ROUTE_PATHS.FILES_LIST,
10
10
  component: FilesList,
11
11
  name: 'Files List',
12
12
  meta: {
13
- getBreadcrumbs: (route, t) => [
14
- { url: '/', text: t('files:home') },
15
- { url: route.path, text: t('files:filesList') },
13
+ getBreadcrumbs: (route, i18n) => [
14
+ { url: '/', text: i18n.t('files:home') },
15
+ { url: route.path, text: i18n.t('files:filesList') },
16
16
  ],
17
17
  },
18
18
  };
19
19
 
20
- export const FILES_FORM_ROUTE: CustomRouteConfig = {
20
+ export const FILES_FORM_ROUTE: RouteRecordRaw = {
21
21
  path: FILES_ROUTE_PATHS.FILES_FORM,
22
22
  component: FilesForm,
23
23
  name: 'Files Form',
24
24
  meta: {
25
- getBreadcrumbs: (route, t) => [
26
- { url: '/', text: t('files:home') },
27
- { url: FILES_LIST_ROUTE.path, text: t('files:filesList') },
28
- { url: route.path, text: t('files:filesForm') },
25
+ getBreadcrumbs: (route, i18n) => [
26
+ { url: '/', text: i18n.t('files:home') },
27
+ { url: FILES_LIST_ROUTE.path, text: i18n.t('files:filesList') },
28
+ { url: route.path, text: i18n.t('files:filesForm') },
29
29
  ],
30
30
  },
31
31
  };
@@ -0,0 +1,38 @@
1
+ <template>
2
+ <PageLayout :sidebar-menu-list="sidebarMenuList">
3
+ <router-view/>
4
+ </PageLayout>
5
+ </template>
6
+
7
+ <script lang="ts">
8
+ import {defineComponent} from 'vue';
9
+ import {MenuItemType, PageLayout} from "@tager/admin-layout";
10
+ import {ViewListIcon} from "@tager/admin-ui";
11
+ import {getFilesListUrl} from '../utils/paths';
12
+ import {useI18n} from "@tager/admin-services";
13
+
14
+ export default defineComponent({
15
+ name: 'App',
16
+ components: {
17
+ PageLayout,
18
+ },
19
+ setup() {
20
+ const i18n = useI18n();
21
+
22
+ const sidebarMenuList: Array<MenuItemType> = [
23
+ {
24
+ id: 'files',
25
+ text: i18n.t('files:files'),
26
+ icon: ViewListIcon,
27
+ children: [{text: i18n.t('files:files'), url: getFilesListUrl()}],
28
+ },
29
+ ];
30
+
31
+ return {
32
+ sidebarMenuList,
33
+ };
34
+ },
35
+ });
36
+ </script>
37
+
38
+ <style scoped lang="scss"></style>
@@ -0,0 +1,23 @@
1
+ import type { AppConfigType } from '@tager/admin-services';
2
+
3
+ export const OZITAG_CONFIG: AppConfigType = {
4
+ APP_NAME: 'OZiTAG_ADMIN',
5
+ TITLE_TEMPLATE: 'OZiTAG Admin - {{title}}',
6
+ LANGUAGE: 'EN',
7
+ BRAND: {
8
+ small: {
9
+ logo: 'logo-small.svg',
10
+ },
11
+ large: {
12
+ logo: 'logo.svg',
13
+ label: 'OZiTAG',
14
+ 'label-color': '#DD6900',
15
+ },
16
+ subtitle: '',
17
+ },
18
+ SPLASH_SCREEN: {
19
+ enabled: true,
20
+ logo: 'logo-white.svg',
21
+ background: '#1e1e1e',
22
+ },
23
+ };
package/src/dev/env.ts ADDED
@@ -0,0 +1,17 @@
1
+ import { initializeEnvironment } from '@tager/admin-services';
2
+
3
+ export function populateEnvironment() {
4
+ initializeEnvironment({
5
+ publicPath: process.env.VUE_APP_PUBLIC_PATH,
6
+ appEnv: process.env.VUE_APP_ENV,
7
+ apiUrl: process.env.VUE_APP_API_URL,
8
+ accessToken: process.env.VUE_APP_ACCESS_TOKEN,
9
+ websiteUrl: process.env.VUE_APP_WEBSITE_URL,
10
+ websiteButtonUrl: process.env.VUE_APP_WEBSITE_BUTTON_URL,
11
+ sentryDsn: process.env.VUE_APP_SENTRY_DSN,
12
+ sentryEnv: process.env.VUE_APP_SENTRY_ENVIRONMENT,
13
+ baseUrl: process.env.BASE_URL,
14
+ nodeEnv: process.env.NODE_ENV,
15
+ version: process.env.VUE_APP_VERSION,
16
+ });
17
+ }
@@ -0,0 +1,36 @@
1
+ import {createApp} from 'vue';
2
+
3
+ import {configStore, i18n, i18nPlugin} from '@tager/admin-services';
4
+ import {createRouter} from '@tager/admin-layout';
5
+ import '@tager/admin-ui/css';
6
+ import '@tager/admin-layout/css';
7
+ import '@tager/admin-dynamic-field/css';
8
+
9
+ import {applyTranslations} from '../locales/apply';
10
+ import {FILES_LIST_ROUTE, FILES_FORM_ROUTE} from '../constants/routes';
11
+
12
+ import {OZITAG_CONFIG} from './config';
13
+ import App from './App.vue';
14
+ import {populateEnvironment} from './env';
15
+
16
+ populateEnvironment();
17
+
18
+ configStore.setConfig(OZITAG_CONFIG);
19
+
20
+ const router = createRouter(
21
+ {
22
+ routes: [FILES_LIST_ROUTE, FILES_FORM_ROUTE],
23
+ },
24
+ {useTitleSync: false}
25
+ );
26
+
27
+ const app = createApp(App);
28
+
29
+ app.use(router);
30
+ app.use(i18nPlugin);
31
+
32
+ applyTranslations();
33
+
34
+ i18n.init({debug: true, lng: 'ru'}).then(() => {
35
+ app.mount('#app');
36
+ });
@@ -0,0 +1,9 @@
1
+ import { i18n } from '@tager/admin-services';
2
+
3
+ import { EN } from './en';
4
+ import { RU } from './ru';
5
+
6
+ export function applyTranslations() {
7
+ i18n.addTranslations('en', 'files', EN);
8
+ i18n.addTranslations('ru', 'files', RU);
9
+ }
package/src/locales/en.ts CHANGED
@@ -1,4 +1,4 @@
1
- const EN = {
1
+ export const EN = {
2
2
  home: 'Home',
3
3
  success: 'Success',
4
4
  error: 'Error',
@@ -17,5 +17,3 @@ const EN = {
17
17
  delete: 'Delete',
18
18
  add: 'Add',
19
19
  };
20
-
21
- export default EN;
package/src/locales/ru.ts CHANGED
@@ -1,6 +1,6 @@
1
- import EN from './en';
1
+ import {EN} from './en';
2
2
 
3
- const RU: typeof EN = {
3
+ export const RU: typeof EN = {
4
4
  home: 'Главная',
5
5
  success: 'Успех',
6
6
  error: 'Ошибка',
@@ -19,5 +19,3 @@ const RU: typeof EN = {
19
19
  delete: 'Удалить',
20
20
  add: 'Добавить',
21
21
  };
22
-
23
- export default RU;
package/src/main.ts CHANGED
@@ -1,10 +1,6 @@
1
- import { i18n } from '@tager/admin-services';
1
+ import { applyTranslations } from './locales/apply';
2
2
 
3
- import EN from './locales/en';
4
- import RU from './locales/ru';
5
-
6
- i18n.addTranslations('en', 'files', EN);
7
- i18n.addTranslations('ru', 'files', RU);
3
+ applyTranslations();
8
4
 
9
5
  export * from './constants/routes';
10
6
  export * from './utils/paths';
@@ -1,38 +1,44 @@
1
1
  <template>
2
- <page :title="$t('files:fileCreation')">
2
+ <Page :title="$i18n.t('files:fileCreation')">
3
3
  <form novalidate @submit.prevent>
4
- <template>
5
- <form-field-file-input
6
- v-model="values.file"
7
- :error="errors.file"
8
- :label="$t('files:file')"
9
- name="file"
10
- />
11
- </template>
4
+ <FormFieldFileInput
5
+ v-model:value="values.file"
6
+ :error="errors.file"
7
+ :label="$i18n.t('files:file')"
8
+ name="file"
9
+ />
12
10
  </form>
13
11
 
14
- <template v-slot:footer>
12
+ <template #footer>
15
13
  <FormFooter
16
14
  :back-href="getFilesListUrl()"
17
- :on-submit="submitForm"
18
15
  :is-submitting="isSubmitting"
19
16
  :is-creation="true"
20
17
  submit-label="Добавить"
18
+ @submit="submitForm"
21
19
  />
22
20
  </template>
23
- </page>
21
+ </Page>
24
22
  </template>
25
23
 
26
24
  <script lang="ts">
27
- import { defineComponent } from '@vue/composition-api';
28
- import { ref } from '@vue/composition-api';
25
+ import { defineComponent, ref } from 'vue';
26
+ import { useRouter } from 'vue-router';
29
27
 
30
- import { convertRequestErrorToMap } from '@tager/admin-services';
31
28
  import {
32
29
  TagerFormSubmitEvent,
33
30
  FormFooter,
34
- useTranslation,
31
+ FormField,
32
+ FormFieldFileInput,
35
33
  } from '@tager/admin-ui';
34
+ import {
35
+ convertRequestErrorToMap,
36
+ navigateBack,
37
+ useI18n,
38
+ useResource,
39
+ useToast,
40
+ } from '@tager/admin-services';
41
+ import { Page } from '@tager/admin-layout';
36
42
 
37
43
  import { addFile } from '../../services/requests';
38
44
  import { getFilesListUrl } from '../../utils/paths';
@@ -42,9 +48,11 @@ import { convertFilesFormValuesToCreationPayload } from './FilesForm.helpers';
42
48
 
43
49
  export default defineComponent({
44
50
  name: 'FilesForm',
45
- components: { FormFooter },
46
- setup(props, context) {
47
- const { t } = useTranslation(context);
51
+ components: { Page, FormFieldFileInput, FormFooter },
52
+ setup() {
53
+ const { t } = useI18n();
54
+ const toast = useToast();
55
+ const router = useRouter();
48
56
 
49
57
  /** Form state */
50
58
 
@@ -69,10 +77,10 @@ export default defineComponent({
69
77
  event.type === 'create_exit' ||
70
78
  event.type === 'save_exit'
71
79
  ) {
72
- context.root.$router.push(getFilesListUrl());
80
+ navigateBack(router, getFilesListUrl());
73
81
  }
74
82
 
75
- context.root.$toast({
83
+ toast.show({
76
84
  variant: 'success',
77
85
  title: t('files:success'),
78
86
  body: t('files:createdSuccessMessage'),
@@ -81,7 +89,7 @@ export default defineComponent({
81
89
  .catch((error) => {
82
90
  console.error(error);
83
91
  errors.value = convertRequestErrorToMap(error);
84
- context.root.$toast({
92
+ toast.show({
85
93
  variant: 'danger',
86
94
  title: t('files:error'),
87
95
  body: t('files:createdErrorMessage'),
@@ -1,14 +1,14 @@
1
1
  <template>
2
- <page
3
- :title="$t('files:filesList')"
2
+ <Page
3
+ :title="$i18n.t('files:filesList')"
4
4
  :header-buttons="[
5
5
  {
6
- text: $t('files:createFile'),
6
+ text: $i18n.t('files:createFile'),
7
7
  href: getFilesFormUrl({ fileId: 'create' }),
8
8
  },
9
9
  ]"
10
10
  >
11
- <data-table
11
+ <DataTable
12
12
  :column-defs="columnDefs"
13
13
  :row-data="rowData"
14
14
  :loading="isRowDataLoading"
@@ -22,48 +22,44 @@
22
22
  }"
23
23
  @change="handleChange"
24
24
  >
25
- <template v-slot:cell(url)="{ row }">
26
- <UrlCell :url="row.url" />
27
- </template>
28
-
29
- <template v-slot:cell(delete)="{ row }">
30
- <base-button
25
+ <template #cell(delete)="{ row }">
26
+ <BaseButton
31
27
  variant="icon"
32
- :title="$t('files:delete')"
28
+ :title="$i18n.t('files:delete')"
33
29
  :disabled="isDeleting(row.id)"
34
30
  @click="handleResourceDelete(row.id)"
35
31
  >
36
- <svg-icon name="delete" />
37
- </base-button>
32
+ <DeleteIcon />
33
+ </BaseButton>
38
34
  </template>
39
- </data-table>
40
- </page>
35
+ </DataTable>
36
+ </Page>
41
37
  </template>
42
38
 
43
39
  <script lang="ts">
44
- import { defineComponent, onMounted } from '@vue/composition-api';
40
+ import { defineComponent, onMounted } from 'vue';
45
41
  import filesize from 'filesize';
46
42
 
47
43
  import {
48
44
  ColumnDefinition,
49
45
  useDataTable,
50
- useTranslation,
46
+ DataTable,
47
+ BaseButton,
48
+ DeleteIcon,
49
+ cutUrlOrigin,
51
50
  } from '@tager/admin-ui';
52
- import { useResourceDelete } from '@tager/admin-services';
51
+ import { useI18n, useResourceDelete } from '@tager/admin-services';
52
+ import { Page } from '@tager/admin-layout';
53
53
 
54
54
  import { deleteFile, getFilesList } from '../../services/requests';
55
55
  import { FileModel } from '../../typings/model';
56
56
  import { getFilesFormUrl } from '../../utils/paths';
57
57
 
58
- import UrlCell from './components/UrlCell';
59
-
60
58
  export default defineComponent({
61
59
  name: 'FilesList',
62
- components: {
63
- UrlCell,
64
- },
65
- setup(props, context) {
66
- const { t } = useTranslation(context);
60
+ components: { DataTable, BaseButton, DeleteIcon, Page },
61
+ setup() {
62
+ const { t } = useI18n();
67
63
 
68
64
  const {
69
65
  fetchEntityList: fetchFilesList,
@@ -83,7 +79,6 @@ export default defineComponent({
83
79
  pageSize: params.pageSize,
84
80
  }),
85
81
  initialValue: [],
86
- context,
87
82
  resourceName: 'Files list',
88
83
  pageSize: 100,
89
84
  });
@@ -96,13 +91,12 @@ export default defineComponent({
96
91
  deleteResource: deleteFile,
97
92
  resourceName: 'File',
98
93
  onSuccess: fetchFilesList,
99
- context,
100
94
  });
101
95
 
102
96
  const columnDefs: Array<ColumnDefinition<FileModel>> = [
103
97
  {
104
98
  id: 1,
105
- name: '#',
99
+ name: 'ID',
106
100
  field: 'id',
107
101
  style: { width: '50px', textAlign: 'center' },
108
102
  headStyle: { width: '50px', textAlign: 'center' },
@@ -122,11 +116,18 @@ export default defineComponent({
122
116
  name: t('files:fileSize'),
123
117
  field: 'size',
124
118
  format: ({ row }) => filesize(row.size),
119
+ style: { whiteSpace: 'nowrap' },
120
+ headStyle: { whiteSpace: 'nowrap' },
125
121
  },
126
122
  {
127
123
  id: 5,
128
124
  name: 'URL',
125
+ type: 'link',
129
126
  field: 'url',
127
+ format: ({ row }) => ({
128
+ url: row.url,
129
+ text: cutUrlOrigin(row.url),
130
+ }),
130
131
  },
131
132
  {
132
133
  id: 6,
package/README.md DELETED
@@ -1 +0,0 @@
1
- # tager-admin-files
package/dist/dev.d.ts DELETED
@@ -1 +0,0 @@
1
- import '@tager/admin-ui/dist/admin-ui.css';