@opengis/fastify-table 1.1.56 → 1.1.58

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 (257) hide show
  1. package/index.js +27 -14
  2. package/package.json +9 -4
  3. package/{cron → server/plugins/cron}/funcs/addCron.js +12 -12
  4. package/server/plugins/cron/index.js +6 -0
  5. package/{crud → server/plugins/crud}/funcs/dataDelete.js +3 -1
  6. package/{crud → server/plugins/crud}/funcs/dataInsert.js +3 -0
  7. package/{crud → server/plugins/crud}/funcs/dataUpdate.js +3 -1
  8. package/{crud → server/plugins/crud}/funcs/getAccess.js +5 -3
  9. package/{crud → server/plugins/crud}/funcs/getOpt.js +2 -0
  10. package/{crud → server/plugins/crud}/funcs/getToken.js +4 -1
  11. package/{crud → server/plugins/crud}/funcs/setOpt.js +3 -0
  12. package/{crud → server/plugins/crud}/funcs/setToken.js +4 -1
  13. package/{crud → server/plugins/crud}/funcs/utils/getFolder.js +2 -1
  14. package/{crud → server/plugins/crud}/funcs/utils/logChanges.js +2 -2
  15. package/server/plugins/crud/index.js +23 -0
  16. package/{hook → server/plugins/hook}/funcs/addHook.js +1 -1
  17. package/{hook → server/plugins/hook}/funcs/applyHook.js +2 -2
  18. package/server/plugins/hook/index.js +8 -0
  19. package/{logger → server/plugins/logger}/createFileStream.js +1 -1
  20. package/{logger → server/plugins/logger}/getLogger.js +1 -1
  21. package/{migration → server/plugins/migration/funcs}/exec.migrations.js +1 -1
  22. package/server/plugins/migration/index.js +7 -0
  23. package/{pg → server/plugins/pg}/funcs/getPG.js +3 -3
  24. package/{pg → server/plugins/pg}/funcs/getPGAsync.js +3 -3
  25. package/{pg → server/plugins/pg}/funcs/init.js +2 -4
  26. package/{pg → server/plugins/pg}/index.js +5 -14
  27. package/{pg → server/plugins/pg}/pgClients.js +2 -1
  28. package/{policy → server/plugins/policy}/funcs/checkPolicy.js +1 -1
  29. package/{crud/controllers/utils → server/plugins/policy/funcs}/checkXSS.js +1 -4
  30. package/{policy → server/plugins/policy}/index.js +0 -2
  31. package/{policy/funcs → server/plugins/policy}/sqlInjection.js +1 -1
  32. package/{redis → server/plugins/redis}/funcs/getRedis.js +2 -1
  33. package/{redis → server/plugins/redis}/funcs/redisClients.js +1 -0
  34. package/{redis → server/plugins/redis}/index.js +2 -6
  35. package/{table → server/plugins/table}/funcs/getFilterSQL/index.js +3 -1
  36. package/{table/controllers/utils → server/plugins/table/funcs}/getSelectMeta.js +1 -10
  37. package/{table/controllers/utils → server/plugins/table/funcs}/getTemplate.js +2 -1
  38. package/{table/controllers/utils → server/plugins/table/funcs}/getTemplatePath.js +3 -3
  39. package/{table/controllers/utils → server/plugins/table/funcs}/getTemplates.js +2 -1
  40. package/{table/controllers/utils → server/plugins/table/funcs}/gisIRColumn.js +4 -7
  41. package/{table → server/plugins/table}/funcs/metaFormat/getSelectVal.js +4 -2
  42. package/{table → server/plugins/table}/funcs/metaFormat/index.js +3 -1
  43. package/server/plugins/table/index.js +13 -0
  44. package/{util → server/plugins/util/funcs}/eventStream.js +1 -0
  45. package/server/plugins/util/index.js +7 -0
  46. package/{cron → server/routes/cron}/controllers/cronApi.js +1 -1
  47. package/{cron → server/routes/cron}/index.js +5 -3
  48. package/{crud → server/routes/crud}/controllers/deleteCrud.js +2 -2
  49. package/{crud → server/routes/crud}/controllers/insert.js +5 -3
  50. package/{crud → server/routes/crud}/controllers/update.js +3 -3
  51. package/server/routes/crud/index.js +19 -0
  52. package/{util → server/routes/logger}/controllers/logger.file.js +5 -5
  53. package/{util → server/routes/logger}/controllers/utils/checkUserAccess.js +1 -1
  54. package/{util → server/routes/logger}/controllers/utils/getRootDir.js +4 -3
  55. package/server/routes/logger/index.js +15 -0
  56. package/{util → server/routes/properties}/controllers/properties.add.js +19 -20
  57. package/server/routes/properties/controllers/properties.get.js +17 -0
  58. package/{util → server/routes/properties}/index.js +5 -8
  59. package/{table → server/routes/table}/controllers/card.js +3 -5
  60. package/{table → server/routes/table}/controllers/data.js +4 -10
  61. package/{table → server/routes/table}/controllers/filter.js +3 -4
  62. package/{table → server/routes/table}/controllers/form.js +1 -1
  63. package/{table → server/routes/table}/controllers/search.js +15 -17
  64. package/{table → server/routes/table}/controllers/suggest.js +8 -7
  65. package/{table → server/routes/table}/controllers/table.js +5 -7
  66. package/{table → server/routes/table}/index.js +1 -10
  67. package/{table → server/routes/table}/schema.js +1 -1
  68. package/{util → server/routes/util}/controllers/next.id.js +1 -1
  69. package/server/routes/util/index.js +11 -0
  70. package/utils.js +58 -50
  71. package/.eslintrc.cjs +0 -44
  72. package/.gitlab-ci.yml +0 -18
  73. package/Changelog.md +0 -352
  74. package/cron/schema.js +0 -8
  75. package/crud/index.js +0 -31
  76. package/crud/schema.js +0 -11
  77. package/docs/.vitepress/abbr.mjs +0 -26
  78. package/docs/.vitepress/config.mjs +0 -127
  79. package/docs/.vitepress/navigation.mjs +0 -82
  80. package/docs/.vitepress/theme/Layout.vue +0 -17
  81. package/docs/.vitepress/theme/components/NavigationLinks.vue +0 -102
  82. package/docs/.vitepress/theme/components/Panzoom.vue +0 -169
  83. package/docs/.vitepress/theme/index.mjs +0 -15
  84. package/docs/.vitepress/theme/style.scss +0 -163
  85. package/docs/abbr.json +0 -4
  86. package/docs/api/cron/cronApi.md +0 -56
  87. package/docs/api/crud/deleteCrud.md +0 -58
  88. package/docs/api/crud/insert.md +0 -82
  89. package/docs/api/crud/update.md +0 -85
  90. package/docs/api/index.md +0 -47
  91. package/docs/api/notification/testEmail.md +0 -91
  92. package/docs/api/table/card.md +0 -73
  93. package/docs/api/table/data.md +0 -134
  94. package/docs/api/table/export.md +0 -60
  95. package/docs/api/table/filter.md +0 -104
  96. package/docs/api/table/form.md +0 -126
  97. package/docs/api/table/search.md +0 -123
  98. package/docs/api/table/suggest.md +0 -156
  99. package/docs/api/table/table.md +0 -107
  100. package/docs/api/user/user.cls.id.md +0 -77
  101. package/docs/api/user/user.cls.md +0 -49
  102. package/docs/api/user/user.cls.post.md +0 -62
  103. package/docs/api/user/user.info.md +0 -37
  104. package/docs/api/utils/logger.file.md +0 -61
  105. package/docs/api/utils/next.id.md +0 -34
  106. package/docs/api/utils/properties.add.md +0 -127
  107. package/docs/api/utils/properties.get.md +0 -73
  108. package/docs/api/utils/status.monitor.md +0 -36
  109. package/docs/api/widget/widget.del.md +0 -76
  110. package/docs/api/widget/widget.get.md +0 -233
  111. package/docs/api/widget/widget.set.md +0 -88
  112. package/docs/db/admin.md +0 -947
  113. package/docs/db/crm.md +0 -564
  114. package/docs/db/index.md +0 -9
  115. package/docs/db/log.md +0 -204
  116. package/docs/hook/card/afterCard.md +0 -20
  117. package/docs/hook/card/preCard.md +0 -25
  118. package/docs/hook/data/afterData.md +0 -26
  119. package/docs/hook/data/preData.md +0 -26
  120. package/docs/hook/deleteCrud/afterDelete.md +0 -21
  121. package/docs/hook/deleteCrud/preDelete.md +0 -26
  122. package/docs/hook/form/afterForm.md +0 -19
  123. package/docs/hook/form/preForm.md +0 -26
  124. package/docs/hook/getTemplate/afterTemplate.md +0 -24
  125. package/docs/hook/getTemplate/preTemplate.md +0 -29
  126. package/docs/hook/index.md +0 -45
  127. package/docs/hook/insert/afterInsert.md +0 -41
  128. package/docs/hook/insert/preInsert.md +0 -25
  129. package/docs/hook/table/afterTable.md +0 -20
  130. package/docs/hook/table/preTable.md +0 -25
  131. package/docs/hook/update/afterUpdate.md +0 -41
  132. package/docs/hook/update/preUpdate.md +0 -25
  133. package/docs/index.md +0 -42
  134. package/docs/public/fastify-dark.svg +0 -4
  135. package/docs/public/fastify.svg +0 -1
  136. package/docs/public/logo-short-dark.svg +0 -12
  137. package/docs/public/logo-short.svg +0 -11
  138. package/docs/public/logo.svg +0 -19
  139. package/docs/readme/index.md +0 -121
  140. package/docs/templates/card.md +0 -83
  141. package/docs/templates/cls.md +0 -29
  142. package/docs/templates/filters.md +0 -91
  143. package/docs/templates/forms.md +0 -139
  144. package/docs/templates/image.png +0 -0
  145. package/docs/templates/index.md +0 -28
  146. package/docs/templates/select.md +0 -90
  147. package/docs/templates/table.md +0 -162
  148. package/docs/utils/cron/addCron.md +0 -29
  149. package/docs/utils/crud/dataInsert.md +0 -52
  150. package/docs/utils/crud/dataUpdate.md +0 -53
  151. package/docs/utils/crud/getOpt.md +0 -34
  152. package/docs/utils/crud/isFileExists.md +0 -38
  153. package/docs/utils/crud/setOpt.md +0 -38
  154. package/docs/utils/hook/addHook.md +0 -74
  155. package/docs/utils/hook/applyHook.md +0 -64
  156. package/docs/utils/index.md +0 -48
  157. package/docs/utils/notification/addNotification.md +0 -28
  158. package/docs/utils/notification/notification.md +0 -41
  159. package/docs/utils/pg/autoIndex.md +0 -22
  160. package/docs/utils/pg/getMeta.md +0 -59
  161. package/docs/utils/pg/getPG.md +0 -34
  162. package/docs/utils/pg/init.md +0 -30
  163. package/docs/utils/pg/pg.md +0 -70
  164. package/docs/utils/redis/getRedis.md +0 -36
  165. package/docs/utils/redis/rclient.md +0 -74
  166. package/docs/utils/table/getForm.md +0 -69
  167. package/docs/utils/table/getMeta.md +0 -56
  168. package/docs/utils/table/getSelect.md +0 -39
  169. package/docs/utils/table/getSelectMeta.md +0 -47
  170. package/docs/utils/table/getTable.md +0 -78
  171. package/helper.js +0 -30
  172. package/module/core/select/core.user_mentioned.sql +0 -2
  173. package/module/test/cls/itree.composition.json +0 -26
  174. package/module/test/table/test.rest_zone.table.json +0 -266
  175. package/notification/controllers/readNotifications.js +0 -27
  176. package/notification/controllers/testEmail.js +0 -46
  177. package/notification/controllers/userNotifications.js +0 -61
  178. package/notification/controllers/utils/pin-m-ty-media-record-outline+303070.png +0 -0
  179. package/notification/funcs/addNotification.js +0 -21
  180. package/notification/funcs/sendNotification.js +0 -111
  181. package/notification/funcs/utils/sendEmail.js +0 -39
  182. package/notification/index.js +0 -18
  183. package/notification/schema.js +0 -10
  184. package/server.js +0 -26
  185. package/table/controllers/utils/getTemplate_old.js +0 -28
  186. package/test/api/applyHook.test.js +0 -95
  187. package/test/api/crud.test.js +0 -89
  188. package/test/api/crud.xss.test.js +0 -80
  189. package/test/api/notification.test.js +0 -48
  190. package/test/api/suggest.test.js +0 -66
  191. package/test/api/table.test.js +0 -134
  192. package/test/api/user.test.js +0 -85
  193. package/test/api/widget.test.js +0 -117
  194. package/test/config.example +0 -18
  195. package/test/funcs/pg.test.js +0 -34
  196. package/test/funcs/redis.test.js +0 -19
  197. package/test/helper/formatDate.test.js +0 -62
  198. package/test/templates/cls/itree.quality_condition.json +0 -20
  199. package/test/templates/cls/itree.recommend copy.json +0 -26
  200. package/test/templates/cls/itree.recommend.json +0 -26
  201. package/test/templates/cls/itree.type_plant.json +0 -65
  202. package/test/templates/cls/test.json +0 -10
  203. package/test/templates/form/cp_building.form.json +0 -33
  204. package/test/templates/select/account_id.json +0 -4
  205. package/test/templates/select/account_id.sql +0 -1
  206. package/test/templates/select/atu.nsdi.ato_level.json +0 -4
  207. package/test/templates/select/atu.nsdi.ato_level.sql +0 -11
  208. package/test/templates/select/contact_id.sql +0 -1
  209. package/test/templates/select/storage.data.json +0 -3
  210. package/test/templates/select/storage.data.sql +0 -1
  211. package/test/templates/select/test.storage.data.json +0 -4
  212. package/test/templates/select/test.storage.data.sql +0 -1
  213. package/test/templates/select/test.suggest.ato_new.json +0 -4
  214. package/test/templates/select/test.suggest.ato_new.sql +0 -26
  215. package/test/templates/select/test.suggest.data.json +0 -5
  216. package/test/templates/select/test.suggest.data.sql +0 -1
  217. package/test/templates/select/test.suggest.parent.sql +0 -2
  218. package/test/templates/table/gis.dataset.table.json +0 -21
  219. package/test/templates/table/green_space.table.json +0 -383
  220. package/test/templates/table/service.json +0 -18
  221. package/user/controllers/user.cls.id.js +0 -14
  222. package/user/controllers/user.cls.js +0 -71
  223. package/user/controllers/user.cls.post.js +0 -52
  224. package/user/controllers/user.info.js +0 -17
  225. package/user/index.js +0 -17
  226. package/user/schema.js +0 -17
  227. package/util/controllers/properties.get.js +0 -17
  228. package/util/schema.js +0 -19
  229. package/widget/controllers/utils/historyFormat.js +0 -76
  230. package/widget/controllers/utils/obj2db.js +0 -13
  231. package/widget/controllers/widget.del.js +0 -41
  232. package/widget/controllers/widget.get.js +0 -96
  233. package/widget/controllers/widget.set.js +0 -74
  234. package/widget/index.js +0 -40
  235. /package/{cron/controllers/utils → server/plugins/cron}/cronList.js +0 -0
  236. /package/{crud → server/plugins/crud}/funcs/isFileExists.js +0 -0
  237. /package/{hook/funcs → server/plugins/hook}/hookList.js +0 -0
  238. /package/{logger → server/plugins/logger}/getHooks.js +0 -0
  239. /package/{logger → server/plugins/logger}/labels.js +0 -0
  240. /package/{logger → server/plugins/logger}/logger.test.api.js +0 -0
  241. /package/{logger → server/plugins/logger}/serializers.js +0 -0
  242. /package/{pg → server/plugins/pg}/funcs/autoIndex.js +0 -0
  243. /package/{pg → server/plugins/pg}/funcs/getMeta.js +0 -0
  244. /package/{pg → server/plugins/pg}/funcs/pgClients.js +0 -0
  245. /package/{crud/controllers/utils → server/plugins/policy}/xssInjection.js +0 -0
  246. /package/{redis → server/plugins/redis}/client.js +0 -0
  247. /package/{table/controllers/utils → server/plugins/table/funcs}/addTemplateDir.js +0 -0
  248. /package/{table → server/plugins/table}/funcs/getFilterSQL/util/formatValue.js +0 -0
  249. /package/{table → server/plugins/table}/funcs/getFilterSQL/util/getCustomQuery.js +0 -0
  250. /package/{table → server/plugins/table}/funcs/getFilterSQL/util/getFilterQuery.js +0 -0
  251. /package/{table → server/plugins/table}/funcs/getFilterSQL/util/getOptimizedQuery.js +0 -0
  252. /package/{table → server/plugins/table}/funcs/getFilterSQL/util/getTableSql.js +0 -0
  253. /package/{table/controllers/utils → server/plugins/table/funcs}/getSelect.js +0 -0
  254. /package/{table/controllers/utils → server/plugins/table/funcs}/loadTemplate.js +0 -0
  255. /package/{table/controllers/utils → server/plugins/table/funcs}/loadTemplatePath.js +0 -0
  256. /package/{table/controllers/utils → server/plugins/table/funcs}/userTemplateDir.js +0 -0
  257. /package/{util → server/routes/util}/controllers/status.monitor.js +0 -0
@@ -1,127 +0,0 @@
1
- import { defineConfig } from 'vitepress';
2
- import { withMermaid } from 'vitepress-plugin-mermaid';
3
- import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs';
4
- import markdownItAbbr from 'markdown-it-abbr';
5
- import navigation from './navigation.mjs';
6
- import handleAbbr from './abbr.mjs';
7
-
8
- // Автоматична генерація одночасно nav (меню в хедері) і сайдбару для кожного пункту nav
9
- const { nav, sidebar } = navigation(
10
- /*
11
- Перший параметр функції (обов'язковий) - масив об'єктів з ключами:
12
- 1) text (обов'язковий) - назва пункта меню, яка буде відображатись в хедері
13
- 2) folder (обов'язковий) - назва папки з документацією, яка повинна відкриватись по кліку на пункт меню з хедера
14
- (на основі цієї папки буде автоматично сформований сайдбар)
15
- 3) link (необов'язковий) - кастомне посилання, по стандарту веде на файл `docs/${forder}/index.md`
16
- 4) інші необов'язкові ключі (activeMatch, target...) описані тут - https://vitepress.dev/reference/default-theme-nav#navigation-links
17
- */
18
- [
19
- {
20
- text: 'Hook',
21
- folder: 'hook',
22
- },
23
- {
24
- text: 'Utils',
25
- folder: 'utils',
26
- },
27
- {
28
- text: 'API',
29
- folder: 'api',
30
- },
31
- {
32
- text: 'ERD',
33
- folder: 'db',
34
- },
35
- {
36
- text: 'Templates',
37
- folder: 'templates',
38
- },
39
- {
40
- text: 'Readme',
41
- folder: 'readme',
42
- },
43
- ],
44
- /*
45
- Другий параметр функції (НЕобов'язковий) - об'єкт з двома ключами:
46
- 1) nav - параметри для налаштування хедера, може містити наступні ключі:
47
- * disableHome (Booleadn, default: false) - чи скрити пункт меню, який веде на головну
48
- * homeTitle (String, default: 'Головна') - назва пункту меню, який веде на головну
49
- 2) sidebar - параметри для налаштування сайдбару, може містити наступні ключі:
50
- * ${назва_папки} (Object) - референс до кожного окремого сайдбару, який вказаний в першому параметрі функції. Ключем виступає те що вказано в folder. Перелік доступних ключів стандартний і описаний тут - https://github.com/jooy2/vitepress-sidebar#options
51
- */
52
- {
53
- // nav: {
54
- // disableHome: false,
55
- // homeTitle: 'Головна',
56
- // },
57
- // sidebar: {
58
- // 'api': {
59
- // includeFolderIndexFile: true,
60
- // }
61
- // }
62
- },
63
- /*
64
- Третій параметр функції (НЕобов'язковий, default: '/docs') - вказує папку, в якій знаходиться конфігураційна папка .vitepress:
65
- - наприклад, якщо у вас в проєкті вже є інша документація і папка docs зайнята, то тут потрібно вказати нову назву папки
66
- - детальніше тут - https://github.com/jooy2/vitepress-sidebar?tab=readme-ov-file#documentrootpath
67
- */
68
- // '/docs-dev',
69
- );
70
-
71
- export default withMermaid(
72
- defineConfig({
73
- base: '/fastify-table/',
74
-
75
- title: "Core Fastify-Table",
76
- description: "Модуль кор для роботи з таблицями",
77
-
78
- ignoreDeadLinks: true,
79
-
80
- markdown: {
81
- config(md) {
82
- md.use(tabsMarkdownPlugin);
83
- md.use(markdownItAbbr);
84
- md.use(handleAbbr);
85
- },
86
- languageAlias: {
87
- 'example': 'r',
88
- 'schema-api': 'r',
89
- 'scheme-api': 'r',
90
- 'schema': 'r',
91
- 'scheme': 'r'
92
- },
93
- },
94
-
95
- head: [
96
- ['script', { src: 'https://cdn.tailwindcss.com' }],
97
- ['link', { rel: 'icon shortcut', href: './logo-short.svg' }],
98
- ['link', { href: 'https://cdn.softpro.ua/vue/v3-core/dev/style.css' }],
99
- ],
100
-
101
- // https://vitepress.dev/reference/default-theme-config
102
- themeConfig: {
103
- nav,
104
- sidebar,
105
-
106
- logo: '/logo.svg',
107
- siteTitle: false,
108
-
109
- outline: 'deep',
110
-
111
- search: {
112
- provider: 'local',
113
- },
114
-
115
- socialLinks: [
116
- { icon: 'github', link: 'https://git.softpro.ua/', },
117
- ],
118
-
119
- // Додаткові посилання в навігації - https://prnt.sc/5K70IDQh8J-f
120
- // Виводиться на всіх сторінках
121
- // Також можна оверрайдити/доповнювати на окремих сторінках, просто в потрібному .md файлі - https://prnt.sc/VAGE3r_RU389
122
- navigationLinks: [
123
- { icon: 'brand-gitlab', link: 'https://git.softpro.ua/', text: 'GitLab', },
124
- ],
125
- },
126
- })
127
- );
@@ -1,82 +0,0 @@
1
- import { generateSidebar } from 'vitepress-sidebar';
2
-
3
- function navigation(items = [], options = {}, documentRootPath = '/docs') {
4
- const navHeader = [];
5
- const navSidebar = [];
6
-
7
- if (!options.nav) {
8
- options.nav = {};
9
- }
10
-
11
- if (!options.sidebar) {
12
- options.sidebar = {};
13
- }
14
-
15
- if (!options.nav.disableHome) {
16
- navHeader.push(
17
- {
18
- text: options.nav.homeTitle || 'Головна',
19
- link: '/',
20
- }
21
- );
22
- }
23
-
24
- items.forEach(item => {
25
- if (item.text && item.items) {
26
- navHeader.push(item);
27
-
28
- return true;
29
- }
30
-
31
- if (!item.text || !item.folder) {
32
- return false;
33
- }
34
-
35
- // FORMAT INCOME DATA
36
- const itemFolder = item.folder.trim();
37
- const itemFolderFormatted = `/${itemFolder}/`;
38
-
39
- // NAVBAR
40
- navHeader.push(
41
- {
42
- ...item,
43
- link: item.link || itemFolderFormatted,
44
- activeMatch: item.activeMatch || itemFolderFormatted,
45
- }
46
- );
47
-
48
- // SIDEBAR
49
- const sidebarOptions = options.sidebar[item.folder] || {};
50
-
51
- navSidebar.push(
52
- // https://github.com/jooy2/vitepress-sidebar#options
53
- {
54
- documentRootPath,
55
- scanStartPath: itemFolder,
56
- resolvePath: itemFolderFormatted,
57
- useTitleFromFileHeading: true,
58
- useTitleFromFrontmatter: true,
59
- useFolderTitleFromIndexFile: true,
60
- hyphenToSpace: true,
61
- underscoreToSpace: true,
62
- capitalizeFirst: true,
63
- collapsed: true,
64
- sortMenusByFrontmatterOrder: true,
65
- frontmatterOrderDefaultValue: 1,
66
- excludeFiles: [],
67
- excludeFolders: [],
68
- includeRootIndexFile: true,
69
- includeFolderIndexFile: false,
70
-
71
- ...sidebarOptions,
72
- }
73
- );
74
- });
75
-
76
- return {
77
- nav: navHeader,
78
- sidebar: generateSidebar(navSidebar),
79
- };
80
- }
81
-
82
- export default navigation;
@@ -1,17 +0,0 @@
1
- <script setup>
2
- import DefaultTheme from 'vitepress/theme';
3
- import Panzoom from './components/Panzoom.vue';
4
- import NavigationLinks from './components/NavigationLinks.vue';
5
-
6
- const { Layout } = DefaultTheme;
7
- </script>
8
-
9
- <template>
10
- <Layout>
11
- <template #aside-outline-after>
12
- <NavigationLinks />
13
- </template>
14
- </Layout>
15
-
16
- <Panzoom />
17
- </template>
@@ -1,102 +0,0 @@
1
- <script setup>
2
- import { computed } from 'vue';
3
- import { useData } from 'vitepress';
4
-
5
- const { frontmatter, theme } = useData();
6
-
7
- const headingLabel = computed(() => frontmatter.value.navigationLinksLabel || 'Resources');
8
-
9
- const links = computed(() => {
10
- const arr = [];
11
-
12
- if (frontmatter.value.navigationLinks && Array.isArray(frontmatter.value.navigationLinks) && frontmatter.value.navigationLinks.length) {
13
- frontmatter.value.navigationLinks.forEach(link => {
14
- arr.push(formatLink(link));
15
- });
16
- }
17
-
18
- if (theme.value.navigationLinks && Array.isArray(theme.value.navigationLinks) && theme.value.navigationLinks.length && !frontmatter.value.navigationLinksHideGlobal) {
19
- theme.value.navigationLinks.forEach(link => {
20
- arr.push(formatLink(link));
21
- });
22
- }
23
-
24
- return arr;
25
- });
26
-
27
- function formatLink(linkObj) {
28
- const { link } = linkObj;
29
-
30
- return {
31
- ...linkObj,
32
- isTargetBlank: link.startsWith('http') || link.startsWith('www'),
33
- }
34
- }
35
- </script>
36
-
37
- <template>
38
- <div v-if="links.length" class="nav-links">
39
- <div v-if="headingLabel?.length" class="nav-links__item">
40
- <span class="nav-links__heading">{{ headingLabel }}</span>
41
- </div>
42
-
43
- <a v-for="(link, idx) in links" :key="idx" :href="link.link" :target="link.isTargetBlank ? '_blank' : '_self'" class="nav-links__item">
44
- <i v-if="link.icon" :class="`nav-links__icon ti ti-${link.icon}`"></i>
45
-
46
- <span v-if="link.text" class="nav-links__text">{{ link.text }}</span>
47
-
48
- <i v-if="link.isTargetBlank" class="nav-links__target ti ti-arrow-up-right"></i>
49
- </a>
50
- </div>
51
- </template>
52
-
53
- <style lang="scss" scoped>
54
- .nav-links {
55
- display: flex;
56
- flex-direction: column;
57
- margin: 30px 0 0;
58
- padding-left: 16px;
59
- border-left: 1px solid var(--vp-c-divider);
60
-
61
- // .nav-links__item
62
- &__item {
63
- display: flex;
64
- align-items: center;
65
- gap: 8px;
66
- padding: 8px 0;
67
- color: var(--vp-c-text-2);
68
- transition: color 0.5s;
69
-
70
- &:hover {
71
- color: var(--vp-c-text);
72
- }
73
- }
74
-
75
- // .nav-links__icon
76
- &__icon {
77
- font-size: 18px;
78
- }
79
-
80
- // .nav-links__heading
81
- &__heading {
82
- font-size: 14px;
83
- font-weight: 600;
84
- line-height: 1;
85
- color: rgba(60, 60, 67);
86
- }
87
-
88
- // .nav-links__text
89
- &__text {
90
- font-size: 14px;
91
- font-weight: 400;
92
- line-height: 1;
93
- }
94
-
95
- // .nav-links__target
96
- &__target {
97
- align-self: flex-start;
98
- font-size: 12px;
99
- margin-left: -4px;
100
- }
101
- }
102
- </style>
@@ -1,169 +0,0 @@
1
- <script setup>
2
- import { onMounted, nextTick, watch } from 'vue';
3
- import { useRouter } from 'vitepress';
4
- import Panzoom from '@panzoom/panzoom';
5
-
6
- const { route } = useRouter();
7
-
8
- onMounted(() => createPanzoom());
9
-
10
- watch(
11
- () => route.path,
12
- async () => {
13
- await nextTick();
14
-
15
- createPanzoom();
16
- },
17
- );
18
-
19
- function createPanzoom() {
20
- document.querySelectorAll('img[alt = "zoom"], .mermaid').forEach(async (m) => {
21
- if (m.panzoom) {
22
- return false;
23
- }
24
-
25
- const wrapper = document.createElement('div');
26
- wrapper.classList.add('mermaid-wrapper');
27
-
28
- m.before(wrapper);
29
-
30
- wrapper.appendChild(m);
31
-
32
- await nextTick();
33
-
34
- const pz = Panzoom(m, {
35
- maxScale: 20,
36
- minScale: 0.5,
37
- canvas: true,
38
- });
39
-
40
- m.panzoom = pz;
41
-
42
- wrapper.appendChild(createActions(pz, wrapper, m));
43
- wrapper.addEventListener('wheel', pz.zoomWithWheel);
44
- });
45
- }
46
-
47
- function createActions(panzoom, wrapper, mermaid) {
48
- const actions = document.createElement('div');
49
- actions.classList.add('mermaid-wrapper__actions');
50
-
51
- actions.appendChild(createZoomIn(panzoom, wrapper, mermaid));
52
- actions.appendChild(createZoomOut(panzoom, wrapper, mermaid));
53
- actions.appendChild(createZoomRestore(panzoom, wrapper, mermaid));
54
- actions.appendChild(createFullScreenToggler(panzoom, wrapper, mermaid));
55
-
56
- return actions;
57
- }
58
-
59
- function createZoomIn(panzoom, wrapper, mermaid) {
60
- const zoomIn = document.createElement('div');
61
-
62
- zoomIn.classList.add('mermaid-wrapper__action');
63
- zoomIn.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none"
64
- stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 5l0 14" /><path d="M5 12l14 0" /></svg>`;
65
-
66
- zoomIn.onclick = () => {
67
- panzoom.zoomIn();
68
- };
69
-
70
- return zoomIn;
71
- }
72
-
73
- function createZoomOut(panzoom, wrapper, mermaid) {
74
- const zoomOut = document.createElement('div');
75
-
76
- zoomOut.classList.add('mermaid-wrapper__action');
77
- zoomOut.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none"
78
- stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l14 0" /></svg>`;
79
-
80
- zoomOut.onclick = () => {
81
- panzoom.zoomOut();
82
- };
83
-
84
- return zoomOut;
85
- }
86
-
87
- function createZoomRestore(panzoom, wrapper, mermaid) {
88
- const zoomRestore = document.createElement('div');
89
-
90
- zoomRestore.classList.add('mermaid-wrapper__action');
91
- zoomRestore.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none"
92
- stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M21 21l-6 -6" />
93
- <path d="M3.268 12.043a7.017 7.017 0 0 0 6.634 4.957a7.012 7.012 0 0 0 7.043 -6.131a7 7 0 0 0 -5.314 -7.672a7.021 7.021 0 0 0 -8.241 4.403" /><path d="M3 4v4h4" /></svg>`;
94
-
95
- zoomRestore.onclick = () => {
96
- panzoom.reset();
97
- };
98
-
99
- return zoomRestore;
100
- }
101
-
102
- function createFullScreenToggler(panzoom, wrapper, mermaid) {
103
- const fullScreenToggler = document.createElement('div');
104
-
105
- fullScreenToggler.classList.add('mermaid-wrapper__action');
106
- fullScreenToggler.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none"
107
- stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 8v-2a2 2 0 0 1 2 -2h2" />
108
- <path d="M4 16v2a2 2 0 0 0 2 2h2" /><path d="M16 4h2a2 2 0 0 1 2 2v2" /><path d="M16 20h2a2 2 0 0 0 2 -2v-2" /></svg>`;
109
-
110
- fullScreenToggler.onclick = () => {
111
- panzoom.reset({ animate: false });
112
- wrapper.classList.toggle('is-fullscreen');
113
- };
114
-
115
- return fullScreenToggler;
116
- }
117
- </script>
118
-
119
- <template>
120
- </template>
121
-
122
- <style lang="scss">
123
- .mermaid-wrapper {
124
- display: block;
125
- min-height: 168px;
126
- overflow: hidden;
127
- position: relative;
128
- background: var(--vp-c-bg);
129
-
130
- &__actions {
131
- position: absolute;
132
- z-index: 10;
133
- right: 16px;
134
- bottom: 16px;
135
- display: flex;
136
- flex-direction: column;
137
- gap: 8px;
138
- }
139
-
140
- &__action {
141
- display: inline-flex;
142
- align-items: center;
143
- justify-content: center;
144
- text-align: center;
145
- font-weight: 600;
146
- color: var(--vp-button-alt-hover-text);
147
- background-color: var(--vp-button-alt-hover-bg);
148
- border-radius: 4px;
149
- padding: 4px;
150
- line-height: 1;
151
- white-space: nowrap;
152
- cursor: pointer;
153
-
154
- & > * {
155
- display: block;
156
- width: 20px;
157
- height: 20px;
158
- font-size: 20px;
159
- line-height: 1;
160
- }
161
- }
162
-
163
- &.is-fullscreen {
164
- position: fixed;
165
- z-index: 1000;
166
- inset: 0;
167
- }
168
- }
169
- </style>
@@ -1,15 +0,0 @@
1
- // https://vitepress.dev/guide/custom-theme
2
- import DefaultTheme from 'vitepress/theme';
3
- import { enhanceAppWithTabs } from 'vitepress-plugin-tabs/client';
4
- import './style.scss';
5
- //import "@tabler/icons-webfont/tabler-icons.css";
6
- import Layout from './Layout.vue';
7
-
8
- /** @type {import('vitepress').Theme} */
9
- export default {
10
- extends: DefaultTheme,
11
- Layout: Layout,
12
- enhanceApp({ app, router, siteData }) {
13
- enhanceAppWithTabs(app);
14
- }
15
- };
@@ -1,163 +0,0 @@
1
- /**
2
- * Customize default theme styling by overriding CSS variables:
3
- * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
4
- */
5
-
6
- /**
7
- * Colors
8
- * -------------------------------------------------------------------------- */
9
- // :root {
10
- // --vp-c-gray-1: #dddde3;
11
- // --vp-c-gray-2: #e4e4e9;
12
- // --vp-c-gray-3: #ebebef;
13
- // --vp-c-gray-soft: rgba(142, 150, 170, 0.14);
14
-
15
- // --vp-c-custom-1: #564a9e;
16
- // --vp-c-custom-2: #8275f7;
17
- // --vp-c-custom-3: #564a9e;
18
- // }
19
-
20
- // .dark {
21
- // --vp-c-gray-1: #515c67;
22
- // --vp-c-gray-2: #414853;
23
- // --vp-c-gray-3: #32363f;
24
- // --vp-c-gray-soft: rgba(101, 117, 133, 0.16);
25
-
26
- // --vp-c-custom-1: #59bbd4;
27
- // --vp-c-custom-2: #238aa3;
28
- // --vp-c-custom-3: #59bbd4;
29
- // }
30
-
31
- :root {
32
- --vp-c-default-1: var(--vp-c-gray-1);
33
- --vp-c-default-2: var(--vp-c-gray-2);
34
- --vp-c-default-3: var(--vp-c-gray-3);
35
- --vp-c-default-soft: var(--vp-c-gray-soft);
36
-
37
- --vp-c-brand-1: var(--vp-c-indigo-1); //text
38
- --vp-c-brand-2: var(--vp-c-indigo-2); //button
39
- --vp-c-brand-3: var(--vp-c-indigo-3); //hover button
40
- --vp-c-brand-soft: var(--vp-c-indigo-soft); // tipbox
41
-
42
- --vp-c-tip-1: var(--vp-c-brand-1);
43
- --vp-c-tip-2: var(--vp-c-brand-2);
44
- --vp-c-tip-3: var(--vp-c-brand-3);
45
- --vp-c-tip-soft: var(--vp-c-brand-soft);
46
-
47
- --vp-c-warning-1: var(--vp-c-yellow-1);
48
- --vp-c-warning-2: var(--vp-c-yellow-2);
49
- --vp-c-warning-3: var(--vp-c-yellow-3);
50
- --vp-c-warning-soft: var(--vp-c-yellow-soft);
51
-
52
- --vp-c-danger-1: var(--vp-c-red-1);
53
- --vp-c-danger-2: var(--vp-c-red-2);
54
- --vp-c-danger-3: var(--vp-c-red-3);
55
- --vp-c-danger-soft: var(--vp-c-red-soft);
56
- }
57
-
58
- /**
59
- * Component: Button
60
- * -------------------------------------------------------------------------- */
61
-
62
- :root {
63
- --vp-button-brand-border: transparent;
64
- --vp-button-brand-text: var(--vp-c-white);
65
- --vp-button-brand-bg: var(--vp-c-brand-3);
66
- --vp-button-brand-hover-border: transparent;
67
- --vp-button-brand-hover-text: var(--vp-c-white);
68
- --vp-button-brand-hover-bg: var(--vp-c-brand-2);
69
- --vp-button-brand-active-border: transparent;
70
- --vp-button-brand-active-text: var(--vp-c-white);
71
- --vp-button-brand-active-bg: var(--vp-c-brand-1);
72
- }
73
-
74
- /**
75
- * Component: Home
76
- * -------------------------------------------------------------------------- */
77
-
78
- :root {
79
- --vp-home-hero-name-color: transparent;
80
- --vp-home-hero-name-background: -webkit-linear-gradient(120deg,
81
- hsl(0 100% 60%),
82
- hsl(15 100% 60%) 35%,
83
- hsl(23 96% 62%) 45%,
84
- hsl(0 100% 60%) 65%,
85
- hsl(358 58% 47%));
86
-
87
- // --vp-home-hero-image-background-image: linear-gradient(-45deg,
88
- // hsl(0 100% 60% / 80%),
89
- // hsl(15 100% 60% / 80%) 40%,
90
- // hsl(23 96% 62% / 80%) 45%,
91
- // hsl(0 100% 60% / 80%) 60%,
92
- // hsl(358 58% 47% / 80%));
93
- --vp-home-hero-image-filter: blur(44px);
94
- }
95
-
96
- @media (min-width: 640px) {
97
- :root {
98
- --vp-home-hero-image-filter: blur(56px);
99
- }
100
- }
101
-
102
- @media (min-width: 960px) {
103
- :root {
104
- --vp-home-hero-image-filter: blur(68px);
105
- }
106
- }
107
-
108
- .VPHomeHero .VPImage {
109
- width: 100%;
110
- height: 100%;
111
- object-fit: contain;
112
- }
113
-
114
- /**
115
- * Component: Custom Block
116
- * -------------------------------------------------------------------------- */
117
-
118
- :root {
119
- --vp-custom-block-tip-border: transparent;
120
- --vp-custom-block-tip-text: var(--vp-c-text-1);
121
- --vp-custom-block-tip-bg: var(--vp-c-brand-soft);
122
- --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
123
- }
124
-
125
- /**
126
- * Component: Algolia
127
- * -------------------------------------------------------------------------- */
128
-
129
- .DocSearch {
130
- --docsearch-primary-color: var(--vp-c-brand-1) !important;
131
- }
132
-
133
- /**
134
- * Component: Badge
135
- * -------------------------------------------------------------------------- */
136
-
137
- .VPBadge[class*="code_"] {
138
- margin-right: 5px;
139
- }
140
-
141
- .VPBadge.code_2xx {
142
- border-color: #1cbb8c;
143
- color: #189f77;
144
- background-color: rgba(28, 187, 140, 0.15);
145
- }
146
-
147
- .VPBadge.code_3xx {
148
- border-color: #17a2b8;
149
- color: #148a9c;
150
- background-color: rgba(23, 162, 184, 0.15);
151
- }
152
-
153
- .VPBadge.code_4xx {
154
- border-color: #fcb92c;
155
- color: #d69d25;
156
- background-color: rgba(252, 185, 44, 0.15);
157
- }
158
-
159
- .VPBadge.code_5xx {
160
- border-color: #dc3545;
161
- color: #bb2d3b;
162
- background-color: rgba(220, 53, 69, 0.15);
163
- }
package/docs/abbr.json DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "HTML": "Hyper Text Markup Language",
3
- "W3C": "World Wide Web Consortium"
4
- }