renusify 2.1.5 → 2.1.8

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 (231) hide show
  1. package/components/codeEditor/index.vue +10 -10
  2. package/components/codeEditor/run.vue +3 -3
  3. package/components/form/checkboxInput/index.vue +6 -2
  4. package/components/form/groupInput/index.vue +5 -2
  5. package/components/form/selectInput/index.vue +2 -2
  6. package/components/form/switchInput/index.vue +3 -1
  7. package/components/form/text-editor/style.scss +1 -1
  8. package/components/form/timeInput/range.vue +6 -6
  9. package/components/img/index.vue +1 -1
  10. package/components/list/index.vue +105 -104
  11. package/components/message/index.vue +1 -1
  12. package/components/modal/style.scss +1 -1
  13. package/components/nestable/NestableItem.vue +2 -2
  14. package/components/nestable/editable.js +5 -5
  15. package/components/nestable/index.vue +8 -6
  16. package/components/table/crud/index.vue +1 -1
  17. package/docs/.browserslistrc +4 -0
  18. package/docs/.editorconfig +5 -0
  19. package/docs/babel.config.js +3 -0
  20. package/docs/jsconfig.json +19 -0
  21. package/docs/package-lock.json +23358 -0
  22. package/docs/package.json +34 -0
  23. package/docs/public/404.jpg +0 -0
  24. package/docs/public/index.html +18 -0
  25. package/docs/public/logo.jpg +0 -0
  26. package/docs/public/manifest.json +23 -0
  27. package/docs/public/pwa/android-chrome-192x192.png +0 -0
  28. package/docs/public/pwa/android-chrome-256x256.png +0 -0
  29. package/docs/public/pwa/apple-touch-icon.png +0 -0
  30. package/docs/public/pwa/favicon-16x16.png +0 -0
  31. package/docs/public/pwa/favicon-32x32.png +0 -0
  32. package/docs/public/pwa/favicon.ico +0 -0
  33. package/docs/public/pwa/mstile-150x150.png +0 -0
  34. package/docs/public/pwa/safari-pinned-tab.svg +17 -0
  35. package/docs/public/robots.txt +2 -0
  36. package/docs/src/Index.vue +17 -0
  37. package/docs/src/components/buttomNextPage.vue +72 -0
  38. package/docs/src/components/sideBar.vue +141 -0
  39. package/docs/src/components/tableEvents.vue +36 -0
  40. package/docs/src/components/tableProps.vue +36 -0
  41. package/docs/src/components/treeElement.vue +21 -0
  42. package/docs/src/index.js +26 -0
  43. package/docs/src/layouts/renusify.vue +215 -0
  44. package/docs/src/plugins/axios.js +54 -0
  45. package/docs/src/registerServiceWorker.js +47 -0
  46. package/docs/src/router/index.js +43 -0
  47. package/docs/src/views/index/notFound/en.vue +36 -0
  48. package/docs/src/views/index/notFound/fa.vue +35 -0
  49. package/docs/src/views/index/notFound/index.vue +26 -0
  50. package/docs/src/views/index/pages.vue +50 -0
  51. package/docs/src/views/index/v1/component/app/en.vue +61 -0
  52. package/docs/src/views/index/v1/component/app/fa.vue +66 -0
  53. package/docs/src/views/index/v1/component/avatar/en.vue +184 -0
  54. package/docs/src/views/index/v1/component/avatar/fa.vue +208 -0
  55. package/docs/src/views/index/v1/component/bar/bottomNavigation/en.vue +181 -0
  56. package/docs/src/views/index/v1/component/bar/bottomNavigation/fa.vue +180 -0
  57. package/docs/src/views/index/v1/component/bar/bottomNavigationCircle/en.vue +100 -0
  58. package/docs/src/views/index/v1/component/bar/bottomNavigationCircle/fa.vue +98 -0
  59. package/docs/src/views/index/v1/component/bar/toolbar/en.vue +231 -0
  60. package/docs/src/views/index/v1/component/bar/toolbar/fa.vue +232 -0
  61. package/docs/src/views/index/v1/component/breadcrumbs/en.vue +84 -0
  62. package/docs/src/views/index/v1/component/breadcrumbs/fa.vue +86 -0
  63. package/docs/src/views/index/v1/component/button/btn/en.vue +282 -0
  64. package/docs/src/views/index/v1/component/button/btn/fa.vue +286 -0
  65. package/docs/src/views/index/v1/component/button/btn_confirm/en.vue +155 -0
  66. package/docs/src/views/index/v1/component/button/btn_confirm/fa.vue +154 -0
  67. package/docs/src/views/index/v1/component/button/btn_group/en.vue +118 -0
  68. package/docs/src/views/index/v1/component/button/btn_group/fa.vue +117 -0
  69. package/docs/src/views/index/v1/component/calendar/en.vue +286 -0
  70. package/docs/src/views/index/v1/component/calendar/fa.vue +274 -0
  71. package/docs/src/views/index/v1/component/card/en.vue +283 -0
  72. package/docs/src/views/index/v1/component/card/fa.vue +294 -0
  73. package/docs/src/views/index/v1/component/chart/en.vue +113 -0
  74. package/docs/src/views/index/v1/component/chart/fa.vue +113 -0
  75. package/docs/src/views/index/v1/component/chart/worldMap/en.vue +112 -0
  76. package/docs/src/views/index/v1/component/chart/worldMap/fa.vue +114 -0
  77. package/docs/src/views/index/v1/component/chat/en.vue +153 -0
  78. package/docs/src/views/index/v1/component/chat/fa.vue +153 -0
  79. package/docs/src/views/index/v1/component/chip/en.vue +341 -0
  80. package/docs/src/views/index/v1/component/chip/fa.vue +340 -0
  81. package/docs/src/views/index/v1/component/codeEditor/en.vue +84 -0
  82. package/docs/src/views/index/v1/component/codeEditor/fa.vue +83 -0
  83. package/docs/src/views/index/v1/component/confirm/en.vue +441 -0
  84. package/docs/src/views/index/v1/component/confirm/fa.vue +434 -0
  85. package/docs/src/views/index/v1/component/container/col/en.vue +68 -0
  86. package/docs/src/views/index/v1/component/container/col/fa.vue +67 -0
  87. package/docs/src/views/index/v1/component/container/divider/en.vue +133 -0
  88. package/docs/src/views/index/v1/component/container/divider/fa.vue +130 -0
  89. package/docs/src/views/index/v1/component/container/en.vue +136 -0
  90. package/docs/src/views/index/v1/component/container/fa.vue +135 -0
  91. package/docs/src/views/index/v1/component/container/row/en.vue +157 -0
  92. package/docs/src/views/index/v1/component/container/row/fa.vue +157 -0
  93. package/docs/src/views/index/v1/component/container/spacer/en.vue +40 -0
  94. package/docs/src/views/index/v1/component/container/spacer/fa.vue +38 -0
  95. package/docs/src/views/index/v1/component/content/en.vue +61 -0
  96. package/docs/src/views/index/v1/component/content/fa.vue +59 -0
  97. package/docs/src/views/index/v1/component/count_down/en.vue +111 -0
  98. package/docs/src/views/index/v1/component/count_down/fa.vue +116 -0
  99. package/docs/src/views/index/v1/component/cropper/en.vue +97 -0
  100. package/docs/src/views/index/v1/component/cropper/fa.vue +97 -0
  101. package/docs/src/views/index/v1/component/float/en.vue +220 -0
  102. package/docs/src/views/index/v1/component/float/fa.vue +222 -0
  103. package/docs/src/views/index/v1/component/form/address_input/en.vue +237 -0
  104. package/docs/src/views/index/v1/component/form/address_input/fa.vue +237 -0
  105. package/docs/src/views/index/v1/component/form/cam_input/en.vue +244 -0
  106. package/docs/src/views/index/v1/component/form/cam_input/fa.vue +247 -0
  107. package/docs/src/views/index/v1/component/form/check_input/en.vue +221 -0
  108. package/docs/src/views/index/v1/component/form/check_input/fa.vue +221 -0
  109. package/docs/src/views/index/v1/component/form/checkbox_input/en.vue +453 -0
  110. package/docs/src/views/index/v1/component/form/checkbox_input/fa.vue +453 -0
  111. package/docs/src/views/index/v1/component/form/color_input/en.vue +121 -0
  112. package/docs/src/views/index/v1/component/form/color_input/fa.vue +120 -0
  113. package/docs/src/views/index/v1/component/form/date_input/en.vue +242 -0
  114. package/docs/src/views/index/v1/component/form/date_input/fa.vue +242 -0
  115. package/docs/src/views/index/v1/component/form/file_input/en.vue +123 -0
  116. package/docs/src/views/index/v1/component/form/file_input/fa.vue +133 -0
  117. package/docs/src/views/index/v1/component/form/form/en.vue +120 -0
  118. package/docs/src/views/index/v1/component/form/form/fa.vue +111 -0
  119. package/docs/src/views/index/v1/component/form/group_input/en.vue +369 -0
  120. package/docs/src/views/index/v1/component/form/group_input/fa.vue +368 -0
  121. package/docs/src/views/index/v1/component/form/input/en.vue +586 -0
  122. package/docs/src/views/index/v1/component/form/input/fa.vue +589 -0
  123. package/docs/src/views/index/v1/component/form/json_input/en.vue +280 -0
  124. package/docs/src/views/index/v1/component/form/json_input/fa.vue +285 -0
  125. package/docs/src/views/index/v1/component/form/mask_input/en.vue +249 -0
  126. package/docs/src/views/index/v1/component/form/mask_input/fa.vue +247 -0
  127. package/docs/src/views/index/v1/component/form/number_input/en.vue +319 -0
  128. package/docs/src/views/index/v1/component/form/number_input/fa.vue +363 -0
  129. package/docs/src/views/index/v1/component/form/password_input/en.vue +351 -0
  130. package/docs/src/views/index/v1/component/form/password_input/fa.vue +352 -0
  131. package/docs/src/views/index/v1/component/form/radio_input/en.vue +251 -0
  132. package/docs/src/views/index/v1/component/form/radio_input/fa.vue +262 -0
  133. package/docs/src/views/index/v1/component/form/range_input/en.vue +302 -0
  134. package/docs/src/views/index/v1/component/form/range_input/fa.vue +310 -0
  135. package/docs/src/views/index/v1/component/form/rating_input/en.vue +318 -0
  136. package/docs/src/views/index/v1/component/form/rating_input/fa.vue +286 -0
  137. package/docs/src/views/index/v1/component/form/select_input/en.vue +293 -0
  138. package/docs/src/views/index/v1/component/form/select_input/fa.vue +297 -0
  139. package/docs/src/views/index/v1/component/form/switch_input/en.vue +138 -0
  140. package/docs/src/views/index/v1/component/form/switch_input/fa.vue +139 -0
  141. package/docs/src/views/index/v1/component/form/tel_input/en.vue +195 -0
  142. package/docs/src/views/index/v1/component/form/tel_input/fa.vue +194 -0
  143. package/docs/src/views/index/v1/component/form/text_area/en.vue +189 -0
  144. package/docs/src/views/index/v1/component/form/text_area/fa.vue +191 -0
  145. package/docs/src/views/index/v1/component/form/text_editor/en.vue +143 -0
  146. package/docs/src/views/index/v1/component/form/text_editor/fa.vue +143 -0
  147. package/docs/src/views/index/v1/component/form/text_editor/text_editor_preview/en.vue +72 -0
  148. package/docs/src/views/index/v1/component/form/text_editor/text_editor_preview/fa.vue +78 -0
  149. package/docs/src/views/index/v1/component/form/text_input/en.vue +146 -0
  150. package/docs/src/views/index/v1/component/form/text_input/fa.vue +149 -0
  151. package/docs/src/views/index/v1/component/form/time_input/en.vue +138 -0
  152. package/docs/src/views/index/v1/component/form/time_input/fa.vue +137 -0
  153. package/docs/src/views/index/v1/component/form/time_range_input/en.vue +115 -0
  154. package/docs/src/views/index/v1/component/form/time_range_input/fa.vue +113 -0
  155. package/docs/src/views/index/v1/component/form/unique_input/en.vue +107 -0
  156. package/docs/src/views/index/v1/component/form/unique_input/fa.vue +106 -0
  157. package/docs/src/views/index/v1/component/form/unit_input/en.vue +200 -0
  158. package/docs/src/views/index/v1/component/form/unit_input/fa.vue +203 -0
  159. package/docs/src/views/index/v1/component/form_creator/en.vue +181 -0
  160. package/docs/src/views/index/v1/component/form_creator/fa.vue +179 -0
  161. package/docs/src/views/index/v1/component/html2pdf/en.vue +215 -0
  162. package/docs/src/views/index/v1/component/html2pdf/fa.vue +226 -0
  163. package/docs/src/views/index/v1/component/html2pdf/html2pdf_page_break/en.vue +37 -0
  164. package/docs/src/views/index/v1/component/html2pdf/html2pdf_page_break/fa.vue +36 -0
  165. package/docs/src/views/index/v1/component/icon/en.vue +231 -0
  166. package/docs/src/views/index/v1/component/icon/fa.vue +230 -0
  167. package/docs/src/views/index/v1/component/img/en.vue +511 -0
  168. package/docs/src/views/index/v1/component/img/fa.vue +510 -0
  169. package/docs/src/views/index/v1/component/infinite/infinite_box/en.vue +107 -0
  170. package/docs/src/views/index/v1/component/infinite/infinite_box/fa.vue +106 -0
  171. package/docs/src/views/index/v1/component/infinite/infinite_div/en.vue +87 -0
  172. package/docs/src/views/index/v1/component/infinite/infinite_div/fa.vue +83 -0
  173. package/docs/src/views/index/v1/component/infinite/infinite_page/en.vue +76 -0
  174. package/docs/src/views/index/v1/component/infinite/infinite_page/fa.vue +76 -0
  175. package/docs/src/views/index/v1/component/list/en.vue +477 -0
  176. package/docs/src/views/index/v1/component/list/fa.vue +475 -0
  177. package/docs/src/views/index/v1/component/map/en.vue +243 -0
  178. package/docs/src/views/index/v1/component/map/fa.vue +256 -0
  179. package/docs/src/views/index/v1/component/map/map_route/en.vue +176 -0
  180. package/docs/src/views/index/v1/component/map/map_route/fa.vue +177 -0
  181. package/docs/src/views/index/v1/component/map/map_select/en.vue +85 -0
  182. package/docs/src/views/index/v1/component/map/map_select/fa.vue +87 -0
  183. package/docs/src/views/index/v1/component/menu/en.vue +160 -0
  184. package/docs/src/views/index/v1/component/menu/fa.vue +158 -0
  185. package/docs/src/views/index/v1/component/message/en.vue +135 -0
  186. package/docs/src/views/index/v1/component/message/fa.vue +134 -0
  187. package/docs/src/views/index/v1/component/meta/en.vue +74 -0
  188. package/docs/src/views/index/v1/component/meta/fa.vue +73 -0
  189. package/docs/src/views/index/v1/component/modal/en.vue +432 -0
  190. package/docs/src/views/index/v1/component/modal/fa.vue +433 -0
  191. package/docs/src/views/index/v1/component/notify/en.vue +116 -0
  192. package/docs/src/views/index/v1/component/notify/fa.vue +116 -0
  193. package/docs/src/views/index/v1/component/progress/progress_circle/en.vue +202 -0
  194. package/docs/src/views/index/v1/component/progress/progress_circle/fa.vue +201 -0
  195. package/docs/src/views/index/v1/component/progress/progress_line/en.vue +216 -0
  196. package/docs/src/views/index/v1/component/progress/progress_line/fa.vue +214 -0
  197. package/docs/src/views/index/v1/component/search_box/en.vue +185 -0
  198. package/docs/src/views/index/v1/component/search_box/fa.vue +178 -0
  199. package/docs/src/views/index/v1/component/slider/en.vue +428 -0
  200. package/docs/src/views/index/v1/component/slider/fa.vue +427 -0
  201. package/docs/src/views/index/v1/component/swiper/en.vue +291 -0
  202. package/docs/src/views/index/v1/component/swiper/fa.vue +289 -0
  203. package/docs/src/views/index/v1/component/table/en.vue +711 -0
  204. package/docs/src/views/index/v1/component/table/fa.vue +709 -0
  205. package/docs/src/views/index/v1/component/table/table_crud/en.vue +218 -0
  206. package/docs/src/views/index/v1/component/table/table_crud/fa.vue +219 -0
  207. package/docs/src/views/index/v1/component/tabs/en.vue +289 -0
  208. package/docs/src/views/index/v1/component/tabs/fa.vue +289 -0
  209. package/docs/src/views/index/v1/component/time_ago/en.vue +98 -0
  210. package/docs/src/views/index/v1/component/time_ago/fa.vue +102 -0
  211. package/docs/src/views/index/v1/component/timeline/en.vue +140 -0
  212. package/docs/src/views/index/v1/component/timeline/fa.vue +138 -0
  213. package/docs/src/views/index/v1/component/tour/en.vue +125 -0
  214. package/docs/src/views/index/v1/component/tour/fa.vue +129 -0
  215. package/docs/src/views/index/v1/component/tree/en.vue +213 -0
  216. package/docs/src/views/index/v1/component/tree/fa.vue +213 -0
  217. package/docs/src/views/index/v1/features/breakpoint/fa.vue +136 -0
  218. package/docs/src/views/index/v1/features/direction/fa.vue +57 -0
  219. package/docs/src/views/index/v1/features/internationalization/fa.vue +186 -0
  220. package/docs/src/views/index/v1/features/theme/fa.vue +148 -0
  221. package/docs/src/views/index/v1/getting_started/browserSupport/fa.vue +33 -0
  222. package/docs/src/views/index/v1/getting_started/installation/fa.vue +110 -0
  223. package/docs/src/views/index/v1/introduction/support/fa.vue +58 -0
  224. package/docs/src/views/index/v1/introduction/whyRenusify/fa.vue +49 -0
  225. package/docs/src/views/index/v1/menu/en.json +1040 -0
  226. package/docs/src/views/index/v1/menu/fa.json +1040 -0
  227. package/docs/src/views/index/v1/mixins/root/fa.vue +131 -0
  228. package/docs/vue.config.js +39 -0
  229. package/index.js +11 -3
  230. package/package.json +1 -1
  231. package/tools/helper.js +1 -1
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "renusify",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "scripts": {
6
+ "serv": "vue-cli-service serve",
7
+ "build": "vue-cli-service build",
8
+ "lint": "vue-cli-service lint"
9
+ },
10
+ "dependencies": {
11
+ "axios": "^1.6.0",
12
+ "core-js": "^3.35.0",
13
+ "register-service-worker": "^1.7.2",
14
+ "renusify": "^2.1.8",
15
+ "vue": "^3.4.3",
16
+ "vue-router": "^4.2.5"
17
+ },
18
+ "devDependencies": {
19
+ "@babel/core": "^7.23.7",
20
+ "@babel/eslint-parser": "^7.23.3",
21
+ "@vue/cli-plugin-babel": "^5.0.8",
22
+ "@vue/cli-plugin-eslint": "^5.0.8",
23
+ "@vue/cli-plugin-pwa": "^5.0.8",
24
+ "@vue/cli-plugin-router": "^5.0.8",
25
+ "@vue/cli-service": "^5.0.8",
26
+ "eslint": "^8.56.0",
27
+ "eslint-config-prettier": "^9.1.0",
28
+ "eslint-plugin-prettier": "^5.1.2",
29
+ "eslint-plugin-vue": "^9.19.2",
30
+ "prettier": "^3.1.1",
31
+ "sass": "^1.69.6",
32
+ "sass-loader": "^13.3.3"
33
+ }
34
+ }
Binary file
@@ -0,0 +1,18 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta content="ltr" name="direction"/>
6
+ <meta content="IE=edge" http-equiv="X-UA-Compatible">
7
+ <meta content="width=device-width,initial-scale=1.0" name="viewport">
8
+ <title><%= htmlWebpackPlugin.options.title %></title>
9
+ </head>
10
+ <body>
11
+ <noscript>
12
+ <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
13
+ Please enable it to continue.</strong>
14
+ </noscript>
15
+ <div id="app"></div>
16
+ <!-- built files will be auto injected -->
17
+ </body>
18
+ </html>
Binary file
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "renusify",
3
+ "short_name": "renusify",
4
+ "icons": [
5
+ {
6
+ "src": "/android-chrome-192x192.png",
7
+ "sizes": "192x192",
8
+ "type": "image/png"
9
+ },
10
+ {
11
+ "src": "/android-chrome-256x256.png",
12
+ "sizes": "256x256",
13
+ "type": "image/png"
14
+ }
15
+ ],
16
+ "display": "standalone",
17
+ "background_color": "#000",
18
+ "theme_color": "#000",
19
+ "lang": "en",
20
+ "dir": "ltr",
21
+ "description": "renusify",
22
+ "start_url": "/"
23
+ }
File without changes
File without changes
Binary file
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
+ width="281.000000pt" height="281.000000pt" viewBox="0 0 281.000000 281.000000"
6
+ preserveAspectRatio="xMidYMid meet">
7
+ <metadata>
8
+ Created by potrace 1.14, written by Peter Selinger 2001-2017
9
+ </metadata>
10
+ <g transform="translate(0.000000,281.000000) scale(0.100000,-0.100000)"
11
+ fill="#000000" stroke="none">
12
+ <path d="M623 2640 c-234 -60 -404 -246 -454 -495 -16 -84 -16 -1385 0 -1470
13
+ 49 -249 222 -436 456 -496 64 -16 130 -18 750 -18 627 0 686 1 751 18 241 62
14
+ 411 246 457 496 19 99 17 1402 -2 1490 -20 94 -92 232 -158 301 -95 99 -180
15
+ 148 -312 178 -62 14 -157 16 -744 15 -617 -1 -678 -2 -744 -19z"/>
16
+ </g>
17
+ </svg>
@@ -0,0 +1,2 @@
1
+ User-agent: *
2
+ Disallow:
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <r-app>
3
+ <r-content>
4
+ <router-view/>
5
+ </r-content>
6
+ </r-app>
7
+ </template>
8
+ <script>
9
+ export default {
10
+ name: "index-base",
11
+ };
12
+ </script>
13
+ <style lang="scss">
14
+ body {
15
+ --color-background-one-light: #fff;
16
+ }
17
+ </style>
@@ -0,0 +1,72 @@
1
+ <template>
2
+ <r-container>
3
+ <r-divider class="mt-10"></r-divider>
4
+ <r-row>
5
+ <r-col class="text-start">
6
+ <r-btn v-if="pre_btn" :to="pre_btn.to" class="color-info-text" text>
7
+ <r-icon v-html="$r.icons.arrow_left"></r-icon>
8
+
9
+ {{ pre_btn.name }}
10
+ </r-btn>
11
+ </r-col>
12
+ <r-col class="text-end">
13
+ <r-btn v-if="next_btn" :to="next_btn.to" class="color-info-text" text>
14
+ {{ next_btn.name }}
15
+ <r-icon v-html="$r.icons.arrow_right"></r-icon>
16
+ </r-btn>
17
+ </r-col>
18
+ </r-row>
19
+ </r-container>
20
+ </template>
21
+
22
+ <script>
23
+ export default {
24
+ name: "buttomNextPage",
25
+ computed: {
26
+ menu() {
27
+ let res = [];
28
+ if (this.$r.store.menu) {
29
+ this.$r.store.menu.forEach((menu) => {
30
+ if (menu.to) {
31
+ res.push({name: menu.name, to: menu.to});
32
+ }
33
+ if (menu.childs) {
34
+ menu.childs.forEach((m) => {
35
+ if (m.to) {
36
+ res.push({name: m.name, to: m.to});
37
+ }
38
+ if (m.childs) {
39
+ m.childs.forEach((mm) => {
40
+ if (mm.to) {
41
+ res.push({name: mm.name, to: mm.to});
42
+ }
43
+ });
44
+ }
45
+ });
46
+ }
47
+ });
48
+ }
49
+
50
+ return res;
51
+ },
52
+ current() {
53
+ for (let i = 0; i < this.menu.length; i++) {
54
+ if (this.menu[i].to.params.path === this.$route.params.path) {
55
+ return i;
56
+ }
57
+ }
58
+ return -10;
59
+ },
60
+ next_btn() {
61
+ return this.menu[this.current + 1];
62
+ },
63
+ pre_btn() {
64
+ return this.menu[this.current - 1];
65
+ },
66
+ },
67
+ };
68
+ </script>
69
+
70
+ <style lang="scss">
71
+ @import "~renusify/style/include";
72
+ </style>
@@ -0,0 +1,141 @@
1
+ <template>
2
+ <r-container class="side-bar" full-width>
3
+ <slot name="first"></slot>
4
+ <r-row class="flex-column">
5
+ <r-col v-for="(item, i) in items" :key="i">
6
+ <div v-if="item.type === 'hr'" class="text-center caption">
7
+ {{ $t(item.name) }}
8
+ <r-divider></r-divider>
9
+ </div>
10
+ <div
11
+ v-else
12
+ @click.prevent="select === i ? (select = null) : (select = i)"
13
+ >
14
+ <r-card
15
+ :class="{
16
+ 'router-link-exact-active': select === i,
17
+ }"
18
+ :to="item.to"
19
+ class="side-bar-item title d-flex h-space-between px-1 py-2"
20
+ flat
21
+ ripple
22
+ >
23
+ <span class="flex-grow-1">
24
+ <r-icon v-if="item.icon" exact v-html="item.icon"></r-icon>
25
+ {{ $t(item.name) }}
26
+ </span>
27
+ <r-icon
28
+ v-if="item.childs"
29
+ :class="{
30
+ 'side-bar-icon-active': select === i,
31
+ }"
32
+ v-html="$r.icons.chevron_down"
33
+ ></r-icon>
34
+ </r-card>
35
+ </div>
36
+ <div
37
+ v-if="item.childs"
38
+ :class="{
39
+ 'side-bar-sub-item-active': select === i,
40
+ }"
41
+ class="side-bar-sub-item ms-2"
42
+ >
43
+ <r-card
44
+ v-for="(child, j) in item.childs"
45
+ :key="`${i}-${j}`"
46
+ :to="child.to"
47
+ class="side-bar-sub-item-link d-block subtitle-1 px-1 py-2 mb-1"
48
+ flat
49
+ ripple
50
+ @click.prevent="child.to ? '' : (select2 = i + '-' + j)"
51
+ >
52
+ <div class="d-flex h-space-between">
53
+ {{ $t(child.name) }}
54
+ <r-icon
55
+ v-if="child.childs"
56
+ :class="{
57
+ 'side-bar-icon-active': select2 === i + '-' + j,
58
+ }"
59
+ v-html="$r.icons.chevron_down"
60
+ ></r-icon>
61
+ </div>
62
+ <div
63
+ v-if="child.childs"
64
+ :class="{
65
+ 'side-bar-sub-item2-active': select2 === i + '-' + j,
66
+ }"
67
+ class="side-bar-sub-item2 ms-2"
68
+ >
69
+ <r-card
70
+ v-for="(child2, k) in child.childs"
71
+ :key="`${i}-${j}-${k}`"
72
+ :to="child2.to"
73
+ class="side-bar-sub-item-link d-block subtitle-1 px-1 py-2 mb-1"
74
+ flat
75
+ ripple
76
+ >
77
+ {{ $t(child2.name) }}
78
+ </r-card>
79
+ </div>
80
+ </r-card>
81
+ </div>
82
+ </r-col>
83
+ </r-row>
84
+ </r-container>
85
+ </template>
86
+
87
+ <script>
88
+ export default {
89
+ name: "sideBar",
90
+ props: {
91
+ items: Array,
92
+ },
93
+ data() {
94
+ return {
95
+ select: null,
96
+ select2: null,
97
+ };
98
+ },
99
+ };
100
+ </script>
101
+
102
+ <style lang="scss" scoped>
103
+ @import "~renusify/style/include";
104
+
105
+ .side-bar {
106
+ &-item {
107
+ cursor: pointer;
108
+ }
109
+
110
+ &-icon-active {
111
+ transition: 0.3s all ease;
112
+ transform: rotateZ(180deg) !important;
113
+ }
114
+
115
+ &-sub-item {
116
+ opacity: 0.9;
117
+ transition: 0.2s all ease-in-out;
118
+ max-height: 0;
119
+ height: auto;
120
+ overflow: hidden;
121
+
122
+ &-active {
123
+ transition: 0.3s all ease-in;
124
+ max-height: 2000px;
125
+ }
126
+ }
127
+
128
+ &-sub-item2 {
129
+ opacity: 0.8;
130
+ transition: 0.2s all ease-in-out;
131
+ max-height: 0;
132
+ height: auto;
133
+ overflow: hidden;
134
+
135
+ &-active {
136
+ transition: 0.3s all ease-in;
137
+ max-height: 2000px;
138
+ }
139
+ }
140
+ }
141
+ </style>
@@ -0,0 +1,36 @@
1
+ <template>
2
+ <div>
3
+ <r-table :items="items" borderd>
4
+ <template #row="{ item, th, key, opened, open, show }">
5
+ <td v-for="(value, k) in th" :key="`${key}- ${k}`">
6
+ <div
7
+ :class="{
8
+ 'color-info-text font-weight-bold': value.value === 'event',
9
+ 'color-secondary-text': value.value === 'description',
10
+ }"
11
+ >
12
+ <r-btn v-if="show(k)" icon text @click.prevent="open(key)">
13
+ <r-icon v-if="opened !== key" v-html="$r.icons.plus"></r-icon>
14
+ <r-icon v-else v-html="$r.icons.minus"></r-icon>
15
+ </r-btn>
16
+ {{ item[value.value] }}
17
+ </div>
18
+ </td>
19
+ </template>
20
+ </r-table>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ export default {
26
+ name: "tableProps",
27
+ props: {items: Array},
28
+ data() {
29
+ return {};
30
+ },
31
+ };
32
+ </script>
33
+
34
+ <style lang="scss">
35
+ @import "~renusify/style/include";
36
+ </style>
@@ -0,0 +1,36 @@
1
+ <template>
2
+ <r-table :items="items" borderd>
3
+ <template #row="{ item, th, key, opened, open, show }">
4
+ <td v-for="(value, k) in th" :key="`${key}- ${k}`">
5
+ <div
6
+ :class="{
7
+ 'color-info-text font-weight-bold': value.value === 'prop',
8
+ 'color-success-text': value.value === 'type',
9
+ 'color-one-text ltr': value.value === 'default',
10
+ 'color-secondary-text': value.value === 'description',
11
+ }"
12
+ >
13
+ <r-btn v-if="show(k)" icon text @click.prevent="open(key)">
14
+ <r-icon v-if="opened !== key" v-html="$r.icons.plus"></r-icon>
15
+ <r-icon v-else v-html="$r.icons.minus"></r-icon>
16
+ </r-btn>
17
+ {{ item[value.value] }}
18
+ </div>
19
+ </td>
20
+ </template>
21
+ </r-table>
22
+ </template>
23
+
24
+ <script>
25
+ export default {
26
+ name: "tableProps",
27
+ props: {items: Array},
28
+ data() {
29
+ return {};
30
+ },
31
+ };
32
+ </script>
33
+
34
+ <style lang="scss">
35
+ @import "~renusify/style/include";
36
+ </style>
@@ -0,0 +1,21 @@
1
+ <template>
2
+ <r-card
3
+ class="pa-10 color-info color-white-text mx-2"
4
+ style="width: 200px; height: 100px"
5
+ >
6
+ {{ node.name }}
7
+ </r-card>
8
+ </template>
9
+
10
+ <script>
11
+ export default {
12
+ name: "treeElement",
13
+ props: {
14
+ node: Object,
15
+ },
16
+ };
17
+ </script>
18
+
19
+ <style lang="scss">
20
+ @import "~renusify/style/include";
21
+ </style>
@@ -0,0 +1,26 @@
1
+ import {createApp} from "vue";
2
+ import App from "./Index.vue";
3
+ import Axios from "./plugins/axios";
4
+ import "./registerServiceWorker";
5
+ import router from "./router/index";
6
+ import renusify from "renusify";
7
+ import ButtomNextPage from "./components/buttomNextPage";
8
+ import tableProps from "./components/tableProps";
9
+ import tableEvents from "./components/tableEvents";
10
+
11
+ import * as components from "renusify/components";
12
+ import {scroll, title, intersect} from "renusify/directive";
13
+
14
+ window.app = createApp(App)
15
+ .use(router)
16
+ .use(Axios)
17
+ .use(renusify, {
18
+ autoAddTranslate: false,
19
+ useNotify: true,
20
+ components: components,
21
+ directives: {title, scroll, intersect},
22
+ })
23
+ .component("ButtomNextPage", ButtomNextPage)
24
+ .component("tableProps", tableProps)
25
+ .component("tableEvents", tableEvents)
26
+ .mount("#app");
@@ -0,0 +1,215 @@
1
+ <template>
2
+ <div
3
+ :class="{
4
+ 'menu-open': open,
5
+ }"
6
+ class="template-main h-end"
7
+ >
8
+ <div class="toolbar border-none d-flex v-center color-white">
9
+ <r-btn class="btn-menu" icon text @click.prevent="open = !open">
10
+ <r-icon v-if="!open" v-html="$r.icons.menu"></r-icon>
11
+ <r-icon v-else v-html="$r.icons.close"></r-icon>
12
+ </r-btn>
13
+ <router-link target="_blank" to="/">
14
+ <img alt="renusify" class="me-2" height="60" src="/logo.jpg" width="210"/>
15
+ </router-link>
16
+ <r-spacer></r-spacer>
17
+ <r-select-input
18
+ v-model="lang"
19
+ :items="[
20
+ { name: 'English', value: 'en' },
21
+ { name: 'فارسی', value: 'fa' },
22
+ ]"
23
+ just-value
24
+ ></r-select-input>
25
+ </div>
26
+ <div class="menu-main">
27
+ <div class="list color-white">
28
+ <sideBar :items="menu"></sideBar>
29
+ </div>
30
+ <div class="hover-div" @click.prevent="open = false"></div>
31
+ </div>
32
+ <div class="router-div">
33
+ <div class="position-relative">
34
+ <router-view v-slot="{ Component }">
35
+ <transition mode="out-in" name="slide-start">
36
+ <component :is="Component"/>
37
+ </transition>
38
+ </router-view>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </template>
43
+
44
+ <script>
45
+ import sideBar from "../components/sideBar";
46
+
47
+ export default {
48
+ name: "renusify",
49
+ components: {sideBar},
50
+ metaInfo: {
51
+ title: "renusify",
52
+ },
53
+ data() {
54
+ return {
55
+ open: false,
56
+ lang: "en",
57
+ version: "en",
58
+ menu: [],
59
+ };
60
+ },
61
+ created() {
62
+ this.lang = this.$route.params.lang || this.$storage.get("lang");
63
+ this.version = this.$route.params.version || "v1";
64
+
65
+ if (this.lang === "fa") {
66
+ this.$r.rtl = true;
67
+ }
68
+ this.$r.lang = this.lang;
69
+
70
+ import(
71
+ "../views/index/" + this.version + "/menu/" + this.lang + ".json"
72
+ ).then((data) => {
73
+ this.menu = data.default;
74
+ this.$r.store.menu = this.menu;
75
+ });
76
+ },
77
+ watch: {
78
+ $route: function () {
79
+ this.open = false;
80
+ },
81
+ lang: function (n) {
82
+ const lang = this.$route.params.lang || this.$storage.get("lang");
83
+ this.$storage.set("lang", n);
84
+ if (n !== lang) {
85
+ window.location = window.location.href.replace(`/${lang}/`, `/${n}/`);
86
+ }
87
+ },
88
+ },
89
+ };
90
+ </script>
91
+
92
+ <style lang="scss">
93
+ @import "~renusify/style/_include";
94
+
95
+ $menu-width: 300px;
96
+ .template-main {
97
+ display: flex;
98
+ flex-direction: row;
99
+ position: relative;
100
+
101
+ .toolbar {
102
+ position: fixed;
103
+ top: 0;
104
+ width: 100%;
105
+ height: $toolbar-height;
106
+ z-index: map_get($z-index, "medium");
107
+ }
108
+
109
+ &.menu-open {
110
+ .menu-main {
111
+ width: 100vw;
112
+ opacity: 1;
113
+ background-color: rgba(0, 0, 0, 0.4);
114
+ }
115
+
116
+ .hover-div {
117
+ width: calc(100% - #{$menu-width});
118
+ max-width: calc(100% - #{$menu-width});
119
+ min-height: calc(100vh - #{$toolbar-height});
120
+ transition: 0.1s all ease-in-out;
121
+ position: absolute;
122
+ top: 0;
123
+ z-index: 2;
124
+ @include rtl() {
125
+ left: 0;
126
+ }
127
+ @include ltr() {
128
+ right: 0;
129
+ }
130
+ }
131
+
132
+ .list {
133
+ @include rtl() {
134
+ right: 0 !important;
135
+ }
136
+ @include ltr() {
137
+ left: 0 !important;
138
+ }
139
+ }
140
+ }
141
+
142
+ .menu-main {
143
+ transition: 0.3s all ease-in-out;
144
+ height: calc(100vh - #{$toolbar-height});
145
+ top: $toolbar-height;
146
+ position: fixed;
147
+ z-index: map_get($z-index, "medium");
148
+ opacity: 0;
149
+ @include rtl() {
150
+ right: 0;
151
+ }
152
+ @include ltr() {
153
+ left: 0;
154
+ }
155
+
156
+ .list {
157
+ overflow-y: auto;
158
+ width: $menu-width;
159
+ transition: 0.3s all ease-in-out;
160
+ background-color: var(--color-sheet);
161
+ height: 100%;
162
+ position: absolute;
163
+ top: 0;
164
+ @include rtl() {
165
+ right: -$menu-width;
166
+ }
167
+ @include ltr() {
168
+ left: -$menu-width;
169
+ }
170
+ font-weight: bold;
171
+ }
172
+ }
173
+
174
+ .router-div {
175
+ position: fixed;
176
+ top: $toolbar-height;
177
+ width: 100%;
178
+ max-width: 100%;
179
+ overflow-y: auto;
180
+ height: calc(100vh - #{$toolbar-height});
181
+ @include rtl() {
182
+ left: 0;
183
+ }
184
+ @include ltr() {
185
+ right: 0;
186
+ }
187
+ }
188
+
189
+ @include media-breakpoint-up("lg") {
190
+ .btn-menu {
191
+ display: none;
192
+ }
193
+ .menu-main {
194
+ width: $menu-width !important;
195
+ background-color: transparent;
196
+ opacity: 1;
197
+ }
198
+ .router-div {
199
+ width: calc(100% - #{$menu-width});
200
+ max-width: calc(100% - #{$menu-width});
201
+ }
202
+ .hover-div {
203
+ width: 0 !important;
204
+ }
205
+ .list {
206
+ @include rtl() {
207
+ right: 0 !important;
208
+ }
209
+ @include ltr() {
210
+ left: 0 !important;
211
+ }
212
+ }
213
+ }
214
+ }
215
+ </style>