@tager/admin-administrators 0.2.7 → 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 (49) hide show
  1. package/dist/constants/paths.d.ts +6 -6
  2. package/dist/constants/routes.d.ts +5 -5
  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 +875 -0
  8. package/dist/locales/apply.d.ts +1 -0
  9. package/dist/locales/en.d.ts +40 -41
  10. package/dist/locales/ru.d.ts +2 -3
  11. package/dist/main.d.ts +3 -3
  12. package/dist/services/requests.d.ts +32 -32
  13. package/dist/style.css +1 -0
  14. package/dist/typings/model.d.ts +25 -25
  15. package/dist/utils/paths.d.ts +8 -8
  16. package/dist/views/AdminForm/AdminForm.helpers.d.ts +14 -14
  17. package/dist/views/AdminForm/AdminForm.vue.d.ts +26 -61
  18. package/dist/views/AdminForm/index.d.ts +1 -1
  19. package/dist/views/AdminList/AdminList.vue.d.ts +14 -33
  20. package/dist/views/AdminList/index.d.ts +1 -1
  21. package/dist/views/RoleForm/RoleForm.helpers.d.ts +13 -13
  22. package/dist/views/RoleForm/RoleForm.vue.d.ts +24 -59
  23. package/dist/views/RoleForm/index.d.ts +1 -1
  24. package/dist/views/RoleList/RoleList.vue.d.ts +20 -46
  25. package/dist/views/RoleList/index.d.ts +1 -1
  26. package/package.json +51 -50
  27. package/src/constants/routes.ts +19 -19
  28. package/src/dev/App.vue +57 -0
  29. package/src/dev/config.ts +23 -0
  30. package/src/dev/env.ts +17 -0
  31. package/src/dev/main.ts +46 -0
  32. package/src/locales/apply.ts +9 -0
  33. package/src/locales/en.ts +1 -3
  34. package/src/locales/ru.ts +40 -42
  35. package/src/main.ts +5 -9
  36. package/src/views/AdminForm/AdminForm.vue +99 -96
  37. package/src/views/AdminList/AdminList.vue +54 -49
  38. package/src/views/RoleForm/RoleForm.vue +82 -79
  39. package/src/views/RoleList/RoleList.vue +78 -64
  40. package/CHANGELOG.md +0 -0
  41. package/dist/dev.d.ts +0 -1
  42. package/dist/index.esm.js +0 -1350
  43. package/dist/index.umd.js +0 -1373
  44. package/src/config/config.json +0 -20
  45. package/src/dev.ts +0 -51
  46. package/src/typings/sfc.d.ts +0 -12
  47. package/src/typings/shims-tsx.d.ts +0 -13
  48. package/src/typings/shims-vue.d.ts +0 -11
  49. package/src/views/App.vue +0 -52
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tager/admin-administrators",
3
- "version": "0.2.7",
3
+ "version": "1.0.0",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.umd.js",
6
6
  "module": "dist/index.esm.js",
@@ -10,65 +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": "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": {
26
+ "lodash.isequal": "^4.5.0",
27
+ "lodash.kebabcase": "^4.1.1",
28
+ "lodash.pick": "^4.4.0",
22
29
  "path-to-regexp": "^6.1.0"
23
30
  },
24
31
  "devDependencies": {
25
- "@rollup/plugin-commonjs": "^15.0.0",
26
- "@rollup/plugin-node-resolve": "^9.0.0",
27
- "@tager/admin-dynamic-field": "^0.1.14",
28
- "@tager/admin-layout": "^0.4.13",
29
- "@tager/admin-services": "^0.2.22",
30
- "@tager/admin-ui": "^0.8.49",
31
- "@types/node": "12.x",
32
- "@typescript-eslint/eslint-plugin": "^2.26.0",
33
- "@typescript-eslint/parser": "^2.26.0",
34
- "@vue/cli-plugin-babel": "~4.5.6",
35
- "@vue/cli-plugin-eslint": "~4.5.6",
36
- "@vue/cli-plugin-router": "~4.5.6",
37
- "@vue/cli-plugin-typescript": "~4.5.6",
38
- "@vue/cli-service": "~4.5.6",
39
- "@vue/composition-api": "^1.0.0-beta.14",
40
- "@vue/eslint-config-prettier": "^6.0.0",
41
- "@vue/eslint-config-typescript": "^5.1.0",
42
- "babel-eslint": "^10.1.0",
43
- "core-js": "^3.6.5",
44
- "eslint": "^6.7.2",
45
- "eslint-plugin-import": "^2.22.0",
46
- "eslint-plugin-prettier": "^3.1.4",
47
- "eslint-plugin-vue": "^6.2.2",
48
- "prettier": "^2.1.2",
49
- "rollup": "^2.27.1",
50
- "rollup-plugin-typescript2": "^0.27.2",
51
- "rollup-plugin-vue": "^5.1.9",
52
- "sass-loader": "^10.0.2",
53
- "typescript": "~3.9.6",
54
- "vue": "2.6.x",
55
- "vue-router": "^3.5.1",
56
- "vue-template-compiler": "^2.6.11"
32
+ "@babel/core": "^7.17.9",
33
+ "@babel/eslint-parser": "^7.17.0",
34
+ "@rushstack/eslint-patch": "^1.1.2",
35
+ "@tager/admin-dynamic-field": "^1.0.0",
36
+ "@tager/admin-layout": "^1.0.0",
37
+ "@tager/admin-services": "^1.0.0",
38
+ "@tager/admin-ui": "^1.0.1",
39
+ "@types/lodash.isequal": "^4.5.6",
40
+ "@types/lodash.pick": "^4.4.7",
41
+ "@types/node": "16.x",
42
+ "@typescript-eslint/eslint-plugin": "^5.21.0",
43
+ "@typescript-eslint/parser": "^5.21.0",
44
+ "@vitejs/plugin-vue": "^2.3.1",
45
+ "@vue/cli-plugin-babel": "^5.0.4",
46
+ "@vue/cli-plugin-typescript": "^5.0.4",
47
+ "@vue/cli-service": "~5.0.0",
48
+ "@vue/eslint-config-prettier": "^7.0.0",
49
+ "@vue/eslint-config-typescript": "^10.0.0",
50
+ "concurrently": "^7.1.0",
51
+ "core-js": "^3.22.3",
52
+ "eslint": "^8.14.0",
53
+ "eslint-config-prettier": "^8.5.0",
54
+ "eslint-plugin-import": "^2.26.0",
55
+ "eslint-plugin-prettier": "^4.0.0",
56
+ "eslint-plugin-vue": "^8.7.1",
57
+ "sass": "^1.51.0",
58
+ "sass-loader": "^12.6.0",
59
+ "typescript": "^4.6.3",
60
+ "vite": "^2.9.6",
61
+ "vue": "^3.2.31",
62
+ "vue-router": "^4.0.14",
63
+ "vue-tsc": "^0.34.10"
57
64
  },
58
65
  "peerDependencies": {
59
- "@tager/admin-dynamic-field": ">=0.1.3",
60
- "@tager/admin-layout": ">=0.4.2",
61
- "@tager/admin-services": ">=0.2.12",
62
- "@tager/admin-ui": ">=0.7.5",
63
- "@vue/composition-api": ">=1.0.0-beta.14",
64
- "vue": "2.6.x"
65
- },
66
- "resolutions": {
67
- "prettier": "2.x"
66
+ "@tager/admin-layout": "^1.0.0",
67
+ "@tager/admin-services": "^1.0.0",
68
+ "@tager/admin-ui": "^1.0.1",
69
+ "vue": "^3.2.31",
70
+ "vue-router": "^4.0.14"
68
71
  },
69
72
  "publishConfig": {
70
73
  "access": "public"
71
- },
72
- "repository": "https://m.malkovich:1230978b@github.com/ozitag/tager-admin-administrators.git",
73
- "author": "m.malkovich <m.malkovich@ozitag.com>"
74
+ }
74
75
  }
@@ -1,4 +1,4 @@
1
- import { CustomRouteConfig } from '@tager/admin-layout';
1
+ import type { RouteRecordRaw } from "vue-router";
2
2
 
3
3
  import AdminList from '../views/AdminList';
4
4
  import AdminForm from '../views/AdminForm';
@@ -7,64 +7,64 @@ import RoleForm from '../views/RoleForm';
7
7
 
8
8
  import { ADMINISTRATOR_ROUTE_PATHS } from './paths';
9
9
 
10
- export const ADMIN_LIST_ROUTE: CustomRouteConfig = {
10
+ export const ADMIN_LIST_ROUTE: RouteRecordRaw = {
11
11
  path: ADMINISTRATOR_ROUTE_PATHS.ADMIN_LIST,
12
12
  component: AdminList,
13
13
  name: 'AdminList',
14
14
  meta: {
15
- getBreadcrumbs: (route, t) => [
16
- { url: '/', text: t('administrators:home') },
15
+ getBreadcrumbs: (route, i18n) => [
16
+ { url: '/', text: i18n.t('administrators:home') },
17
17
  {
18
18
  url: ADMINISTRATOR_ROUTE_PATHS.ADMIN_LIST,
19
- text: t('administrators:adminList'),
19
+ text: i18n.t('administrators:adminList'),
20
20
  },
21
21
  ],
22
22
  },
23
23
  };
24
24
 
25
- export const ADMIN_FORM_ROUTE: CustomRouteConfig = {
25
+ export const ADMIN_FORM_ROUTE: RouteRecordRaw = {
26
26
  path: ADMINISTRATOR_ROUTE_PATHS.ADMIN_FORM,
27
27
  component: AdminForm,
28
28
  name: 'AdminForm',
29
29
  meta: {
30
- getBreadcrumbs: (route, t) => [
31
- { url: '/', text: t('administrators:home') },
30
+ getBreadcrumbs: (route, i18n) => [
31
+ { url: '/', text: i18n.t('administrators:home') },
32
32
  {
33
33
  url: ADMINISTRATOR_ROUTE_PATHS.ADMIN_LIST,
34
- text: t('administrators:adminList'),
34
+ text: i18n.t('administrators:adminList'),
35
35
  },
36
- { url: route.path, text: t('administrators:adminForm') },
36
+ { url: route.path, text: i18n.t('administrators:adminForm') },
37
37
  ],
38
38
  },
39
39
  };
40
40
 
41
- export const ROLE_LIST_ROUTE: CustomRouteConfig = {
41
+ export const ROLE_LIST_ROUTE: RouteRecordRaw = {
42
42
  path: ADMINISTRATOR_ROUTE_PATHS.ROLE_LIST,
43
43
  component: RoleList,
44
44
  name: 'RoleList',
45
45
  meta: {
46
- getBreadcrumbs: (route, t) => [
47
- { url: '/', text: t('administrators:home') },
46
+ getBreadcrumbs: (route, i18n) => [
47
+ { url: '/', text: i18n.t('administrators:home') },
48
48
  {
49
49
  url: ADMINISTRATOR_ROUTE_PATHS.ROLE_LIST,
50
- text: t('administrators:roleList'),
50
+ text: i18n.t('administrators:roleList'),
51
51
  },
52
52
  ],
53
53
  },
54
54
  };
55
55
 
56
- export const ROLE_FORM_ROUTE: CustomRouteConfig = {
56
+ export const ROLE_FORM_ROUTE: RouteRecordRaw = {
57
57
  path: ADMINISTRATOR_ROUTE_PATHS.ROLE_FORM,
58
58
  component: RoleForm,
59
59
  name: 'RoleForm',
60
60
  meta: {
61
- getBreadcrumbs: (route, t) => [
62
- { url: '/', text: t('administrators:home') },
61
+ getBreadcrumbs: (route, i18n) => [
62
+ { url: '/', text: i18n.t('administrators:home') },
63
63
  {
64
64
  url: ADMINISTRATOR_ROUTE_PATHS.ROLE_LIST,
65
- text: t('administrators:roleList'),
65
+ text: i18n.t('administrators:roleList'),
66
66
  },
67
- { url: route.path, text: t('administrators:roleForm') },
67
+ { url: route.path, text: i18n.t('administrators:roleForm') },
68
68
  ],
69
69
  },
70
70
  };
@@ -0,0 +1,57 @@
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
+
10
+ import {MenuItemType, PageLayout} from "@tager/admin-layout";
11
+
12
+ import {ViewListIcon} from "@tager/admin-ui";
13
+
14
+ import {
15
+ getAdminFormUrl,
16
+ getAdminListUrl,
17
+ getRoleFormUrl,
18
+ getRoleListUrl,
19
+ } from '../utils/paths';
20
+ import {useI18n} from "@tager/admin-services";
21
+
22
+ export default defineComponent({
23
+ name: 'App',
24
+ components: {
25
+ PageLayout,
26
+ },
27
+ setup() {
28
+ const i18n = useI18n();
29
+
30
+ const sidebarMenuList: Array<MenuItemType> = [
31
+ {
32
+ id: 'admins',
33
+ text: i18n.t('administrators:administrators'),
34
+ icon: ViewListIcon,
35
+ children: [
36
+ {url: getRoleListUrl(), text: i18n.t('administrators:roles')},
37
+ {
38
+ url: getRoleFormUrl({roleId: 'create'}),
39
+ text: i18n.t('administrators:createRole'),
40
+ },
41
+ {url: getAdminListUrl(), text: i18n.t('administrators:admins')},
42
+ {
43
+ url: getAdminFormUrl({adminId: 'create'}),
44
+ text: i18n.t('administrators:createAdmin'),
45
+ },
46
+ ],
47
+ },
48
+ ];
49
+
50
+ return {
51
+ sidebarMenuList,
52
+ };
53
+ },
54
+ });
55
+ </script>
56
+
57
+ <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,46 @@
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 {
11
+ ADMIN_FORM_ROUTE,
12
+ ADMIN_LIST_ROUTE,
13
+ ROLE_FORM_ROUTE,
14
+ ROLE_LIST_ROUTE
15
+ } from "../constants/routes";
16
+
17
+ import { OZITAG_CONFIG } from "./config";
18
+ import App from "./App.vue";
19
+ import { populateEnvironment } from "./env";
20
+
21
+ populateEnvironment();
22
+
23
+ configStore.setConfig(OZITAG_CONFIG);
24
+
25
+ const router = createRouter(
26
+ {
27
+ routes: [
28
+ ADMIN_LIST_ROUTE,
29
+ ADMIN_FORM_ROUTE,
30
+ ROLE_LIST_ROUTE,
31
+ ROLE_FORM_ROUTE,
32
+ ],
33
+ },
34
+ { useTitleSync: false }
35
+ );
36
+
37
+ const app = createApp(App);
38
+
39
+ app.use(router);
40
+ app.use(i18nPlugin);
41
+
42
+ applyTranslations();
43
+
44
+ i18n.init({ debug: true, lng: "ru" }).then(() => {
45
+ app.mount("#app");
46
+ });
@@ -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", "administrators", EN);
8
+ i18n.addTranslations("ru", "administrators", 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
  administrators: 'Administrators',
4
4
  role: 'Role',
@@ -38,5 +38,3 @@ const EN = {
38
38
  roleForm: 'Role form',
39
39
  andMorePrivilege: 'and more {{count}} privilege...',
40
40
  };
41
-
42
- export default EN;
package/src/locales/ru.ts CHANGED
@@ -1,44 +1,42 @@
1
- import EN from './en';
1
+ import {EN} from './en';
2
2
 
3
- const RU: typeof EN = {
4
- home: 'Главная',
5
- administrators: 'Администраторы',
6
- role: 'Роль',
7
- roles: 'Роли',
8
- admin: 'Админ',
9
- admins: 'Админы',
10
- createRole: 'Создать роль',
11
- createAdmin: 'Создать админа',
12
- createAdministrator: 'Создать администратора',
13
- edit: 'Редактировать',
14
- delete: 'Удалить',
15
- email: 'Электронная почта',
16
- actions: 'Действия',
17
- updateRole: 'Обновить роль',
18
- updateAdmin: 'Обновить администратора',
19
- password: 'Пароль',
20
- newPassword: 'Новый пароль',
21
- name: 'Имя',
22
- success: 'Успех',
23
- adminSuccessfullyCreated: 'Админ успешно создан',
24
- adminSuccessfullyUpdated: 'Админ успешно обновлен',
25
- error: 'Ошибка',
26
- adminCreationError: 'Ошибка создания администратора',
27
- adminUpdateError: 'Ошибка обновления администратора',
28
- listOfRoles: 'Список ролей',
29
- addRole: 'Добавить роль',
30
- noPrivileges: 'Без привилегий',
31
- privileges: 'Привилегии',
32
- all: 'Все',
33
- roleSuccessfullyCreated: 'Роль успешно создана',
34
- roleSuccessfullyUpdate: 'Роль успешно обновлена',
35
- roleCreationError: 'Ошибка создания роли',
36
- roleUpdateError: 'Ошибка обновления роли',
37
- adminList: 'Список администраторов',
38
- adminForm: 'Форма администратора',
39
- roleList: 'Список ролей',
40
- roleForm: 'Форма роли',
41
- andMorePrivilege: 'и еще {{count}} привилегий...',
3
+ export const RU: typeof EN = {
4
+ home: 'Главная',
5
+ administrators: 'Администраторы',
6
+ role: 'Роль',
7
+ roles: 'Роли',
8
+ admin: 'Админ',
9
+ admins: 'Админы',
10
+ createRole: 'Создать роль',
11
+ createAdmin: 'Создать админа',
12
+ createAdministrator: 'Создать администратора',
13
+ edit: 'Редактировать',
14
+ delete: 'Удалить',
15
+ email: 'Электронная почта',
16
+ actions: 'Действия',
17
+ updateRole: 'Обновить роль',
18
+ updateAdmin: 'Обновить администратора',
19
+ password: 'Пароль',
20
+ newPassword: 'Новый пароль',
21
+ name: 'Имя',
22
+ success: 'Успех',
23
+ adminSuccessfullyCreated: 'Админ успешно создан',
24
+ adminSuccessfullyUpdated: 'Админ успешно обновлен',
25
+ error: 'Ошибка',
26
+ adminCreationError: 'Ошибка создания администратора',
27
+ adminUpdateError: 'Ошибка обновления администратора',
28
+ listOfRoles: 'Список ролей',
29
+ addRole: 'Добавить роль',
30
+ noPrivileges: 'Без привилегий',
31
+ privileges: 'Привилегии',
32
+ all: 'Все',
33
+ roleSuccessfullyCreated: 'Роль успешно создана',
34
+ roleSuccessfullyUpdate: 'Роль успешно обновлена',
35
+ roleCreationError: 'Ошибка создания роли',
36
+ roleUpdateError: 'Ошибка обновления роли',
37
+ adminList: 'Список администраторов',
38
+ adminForm: 'Форма администратора',
39
+ roleList: 'Список ролей',
40
+ roleForm: 'Форма роли',
41
+ andMorePrivilege: 'и еще {{count}} привилегий...',
42
42
  };
43
-
44
- export default RU;
package/src/main.ts CHANGED
@@ -1,11 +1,7 @@
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';
3
+ applyTranslations();
5
4
 
6
- i18n.addTranslations('en', 'administrators', EN);
7
- i18n.addTranslations('ru', 'administrators', RU);
8
-
9
- export * from './constants/routes';
10
- export * from './services/requests';
11
- export * from './utils/paths';
5
+ export * from "./constants/routes";
6
+ export * from "./utils/paths";
7
+ export * from "./services/requests";