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,54 @@
1
+ import axios from "axios";
2
+
3
+ // Full config: https://github.com/axios/axios#request-config
4
+ axios.defaults.baseURL = `${
5
+ process.env.NODE_ENV === "production"
6
+ ? process.env.VUE_APP_API_production_URL
7
+ : process.env.VUE_APP_API_URL
8
+ }/api`;
9
+ axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
10
+ axios.defaults.headers.post["Content-Type"] =
11
+ "application/x-www-form-urlencoded";
12
+
13
+ axios.interceptors.request.use(
14
+ (config) => {
15
+ return config;
16
+ },
17
+ (error) => Promise.reject(error)
18
+ );
19
+
20
+ axios.interceptors.response.use(
21
+ (response) => {
22
+ if (response.data) {
23
+ response.data = window.app.$helper.htmlDecode(response.data);
24
+ if (response.data.msg) {
25
+ window.app.$toast(window.app.$t(response.data.msg));
26
+ }
27
+ }
28
+ return response;
29
+ },
30
+ (error) => {
31
+ const res = error.response;
32
+ if (res && res.status === 307 && res.data.location) {
33
+ console.log("redirect to:" + res.data.location);
34
+ window.location.replace(res.data.location);
35
+ }
36
+
37
+ if (res && res.data.msg === "auth.failed") {
38
+ window.app.$toast(window.app.$t("auth.failed"), {
39
+ type: "error",
40
+ });
41
+ } else if (res && res.data.msg) {
42
+ window.app.$toast(window.app.$t(res.data.msg), {
43
+ type: "error",
44
+ });
45
+ }
46
+
47
+ return Promise.reject(error);
48
+ }
49
+ );
50
+ export default {
51
+ install: (app) => {
52
+ app.config.globalProperties.$axios = axios;
53
+ },
54
+ };
@@ -0,0 +1,47 @@
1
+ /* eslint-disable no-console */
2
+
3
+ import {register} from "register-service-worker";
4
+
5
+ if (process.env.NODE_ENV === "production") {
6
+ register(`${process.env.BASE_URL}service-worker.js`, {
7
+ ready() {
8
+ console.log(
9
+ "App is being served from cache by a service worker.\n" +
10
+ "For more details, visit https://goo.gl/AFskqB"
11
+ );
12
+ },
13
+ registered() {
14
+ console.log("Service worker has been registered.");
15
+ },
16
+ cached() {
17
+ console.log("Content has been cached for offline use.");
18
+ },
19
+ updatefound() {
20
+ console.log("New content is downloading.");
21
+ },
22
+ updated() {
23
+ console.log("New content is available; please refresh.");
24
+ setTimeout(() => {
25
+ if (window.app) {
26
+ window.app.$toast(window.app.$t("new_content_please_refresh"), {
27
+ type: "info",
28
+ time: -1,
29
+ action: () => {
30
+ window.location.reload(true);
31
+ },
32
+ action_name: window.app.$t("ok"),
33
+ closable: false,
34
+ });
35
+ }
36
+ }, 2000);
37
+ },
38
+ offline() {
39
+ console.log(
40
+ "No internet connection found. App is running in offline mode."
41
+ );
42
+ },
43
+ error(error) {
44
+ console.error("Error during service worker registration:", error);
45
+ },
46
+ });
47
+ }
@@ -0,0 +1,43 @@
1
+ import {createRouter, createWebHistory} from "vue-router";
2
+
3
+ import template from "../layouts/renusify";
4
+
5
+ const notFound = () => import("../views/index/notFound/index");
6
+ /* {{place new import}} */
7
+ const pages = () => import("../views/index/pages");
8
+ const routes = [
9
+ {
10
+ path: "/",
11
+ component: template,
12
+ children: [
13
+ {
14
+ path: "/",
15
+ name: "base",
16
+ component: pages,
17
+ props: true,
18
+ },
19
+ {
20
+ path: "/:version?/:lang?/:path?",
21
+ name: "pages",
22
+ component: pages,
23
+ props: true,
24
+ },
25
+ {path: "/:pathMatch(.*)*", name: "not_found", component: notFound},
26
+ ],
27
+ },
28
+ ];
29
+ const router = createRouter({
30
+ history: createWebHistory(
31
+ process.env.NODE_ENV === "production"
32
+ ? process.env.API_production_URL
33
+ : process.env.API_URL
34
+ ),
35
+ routes,
36
+ scrollBehavior(to, from, savedPosition) {
37
+ if (savedPosition) {
38
+ return savedPosition;
39
+ }
40
+ return {behavior: "smooth", left: 0, top: 0};
41
+ },
42
+ });
43
+ export default router;
@@ -0,0 +1,36 @@
1
+ <template>
2
+ <r-container class="pa-0" full-width>
3
+ <r-meta
4
+ :url="$route.path"
5
+ description="404 page: not found"
6
+ title="404 page"
7
+ ></r-meta>
8
+ <r-row class="color-header no-gutters">
9
+ <r-col>
10
+ <r-container class="pt-12 mt-12 pb-0">
11
+ <r-row class="mt-12 pt-12">
12
+ <r-col class="col-12">
13
+ <h1 class="line-btm display-4">صفحه مورد نظر یافت نشد:(</h1>
14
+ </r-col>
15
+ <r-col class="col-12"></r-col>
16
+ </r-row>
17
+ </r-container>
18
+ </r-col>
19
+ </r-row>
20
+ <r-row class="mt-12">
21
+ <r-col>
22
+ <img alt="404 page" src="/404.jpg" style="width: 100%"/>
23
+ </r-col>
24
+ </r-row>
25
+ </r-container>
26
+ </template>
27
+
28
+ <script>
29
+ export default {
30
+ name: "notFound",
31
+ metaInfo: {
32
+ title: "notFound",
33
+ },
34
+ };
35
+ </script>
36
+
@@ -0,0 +1,35 @@
1
+ <template>
2
+ <r-container class="pa-0" full-width>
3
+ <r-meta
4
+ :url="$route.path"
5
+ description="404 page: not found"
6
+ title="404 page"
7
+ ></r-meta>
8
+ <r-row class="color-header no-gutters">
9
+ <r-col>
10
+ <r-container class="pt-12 mt-12 pb-0">
11
+ <r-row class="mt-12 pt-12">
12
+ <r-col class="col-12">
13
+ <h1 class="line-btm display-4">صفحه مورد نظر یافت نشد:(</h1>
14
+ </r-col>
15
+ <r-col class="col-12"></r-col>
16
+ </r-row>
17
+ </r-container>
18
+ </r-col>
19
+ </r-row>
20
+ <r-row class="mt-12">
21
+ <r-col>
22
+ <img alt="404 page" src="/404.jpg" style="width: 100%"/>
23
+ </r-col>
24
+ </r-row>
25
+ </r-container>
26
+ </template>
27
+
28
+ <script>
29
+ export default {
30
+ name: "notFound",
31
+ metaInfo: {
32
+ title: "notFound",
33
+ },
34
+ };
35
+ </script>
@@ -0,0 +1,26 @@
1
+ <template>
2
+ <component :is="comp"></component>
3
+ </template>
4
+
5
+ <script>
6
+ import {defineAsyncComponent} from "vue";
7
+ import en from "./en";
8
+
9
+ export default {
10
+ name: "index",
11
+
12
+ computed: {
13
+ comp() {
14
+ const lang = this.$route.params.lang || "en";
15
+ return defineAsyncComponent({
16
+ loader: () => import(`./${lang}.vue`),
17
+ errorComponent: en,
18
+ });
19
+ },
20
+ },
21
+ };
22
+ </script>
23
+
24
+ <style lang="scss">
25
+ @import "~renusify/style/include";
26
+ </style>
@@ -0,0 +1,50 @@
1
+ <template>
2
+ <r-container>
3
+ <r-row>
4
+ <r-col class="col-12 md-9">
5
+ <component :is="page" :key="lang + '-' + path"></component>
6
+ <buttom-next-page></buttom-next-page>
7
+ </r-col>
8
+
9
+ <r-col class="col-12 md-3"></r-col>
10
+ </r-row>
11
+ </r-container>
12
+ </template>
13
+ <script>
14
+ import {defineAsyncComponent} from "vue";
15
+ import notFound from "../index/notFound/index";
16
+
17
+ export default {
18
+ name: "pages",
19
+ props: {
20
+ lang: String,
21
+ path: String,
22
+ version: String,
23
+ },
24
+ data() {
25
+ return {
26
+ show: false,
27
+ };
28
+ },
29
+ computed: {
30
+ page() {
31
+ let lang = this.lang || this.$storage.get("lang");
32
+ let path = this.path || "introduction-whyRenusify";
33
+ let version = this.version || "v1";
34
+ return defineAsyncComponent({
35
+ loader: () =>
36
+ import(
37
+ "../index/" +
38
+ version +
39
+ "/" +
40
+ this.$helper.replacer(path, "-", "/") +
41
+ "/" +
42
+ lang +
43
+ ".vue"
44
+ ),
45
+ errorComponent: notFound,
46
+ });
47
+ },
48
+ },
49
+ };
50
+ </script>
@@ -0,0 +1,61 @@
1
+ <template>
2
+ <section>
3
+ <div class="color-white mb-2">
4
+ <h1 class="display-3 font-weight-light color-white ps-4 pb-1 pt-1 br-lg">
5
+ r-app
6
+ </h1>
7
+ <p class="font-weight-light ps-4 pb-1 py-4 br-lg">
8
+ In Renusify the starting point of the programming is indicated by the
9
+ <r-btn readonly size="small"> r-app</r-btn>
10
+ component. All the code should be placed within it.
11
+ </p>
12
+ </div>
13
+ <table-props :items="items"></table-props>
14
+ </section>
15
+ <br/>
16
+ <section>
17
+ <h1 class="font-weight-bold color-white title ps-4 pt-1 pb-1 br-sm">
18
+ An example for changing the theme !
19
+ </h1>
20
+ </section>
21
+ <section>
22
+ <p class="caption">Press run Button</p>
23
+ <r-code-editor
24
+ runnable
25
+ script='data(){
26
+ return {
27
+ "rtl": false
28
+ }
29
+ }'
30
+ template='<r-app :rtl="rtl">
31
+ <div class="color-one">Hello World!</div>
32
+ </r-app>'
33
+ >
34
+ </r-code-editor>
35
+ </section>
36
+ <br/>
37
+ </template>
38
+ <script>
39
+ export default {
40
+ name: "app",
41
+ data() {
42
+ return {
43
+ items: [
44
+ {
45
+ prop: "id",
46
+ type: "String,Number",
47
+ default: "renusify",
48
+ description: "The ID stands for Identifier in programming. ",
49
+ },
50
+ {
51
+ prop: "rtl",
52
+ type: "Boolean",
53
+ default: "undefined",
54
+ description:
55
+ "I will perform the action of right-aligning the website for you",
56
+ },
57
+ ],
58
+ };
59
+ },
60
+ };
61
+ </script>
@@ -0,0 +1,66 @@
1
+ <template>
2
+ <section>
3
+ <div class="color-white mb-2">
4
+ <h1 class="display-3 font-weight-light color-white ps-4 pb-1 pt-1 br-lg">
5
+ r-app
6
+ </h1>
7
+ <p class="title font-weight-light ps-4 pb-1 py-4 br-lg">
8
+ در رنوسیفای نقطه شروع برنامه نویسی از
9
+ <r-btn readonly size="small"> r-app</r-btn>
10
+ است باید همه کدها را در r-app جایی گرفته باشند.
11
+ </p>
12
+ </div>
13
+
14
+ <table-props
15
+ :items="[
16
+ {
17
+ prop: 'id',
18
+ type: 'String or Number',
19
+ default: 'renusify',
20
+ description: 'آیدی برای برنامه است.',
21
+ },
22
+
23
+ {
24
+ prop: 'rtl',
25
+ type: 'Boolean',
26
+ default: 'undefined',
27
+ description: 'عمل راست چین کردن سایت را برای شما انجام می دهد',
28
+ },
29
+ ]"
30
+ ></table-props>
31
+ </section>
32
+ <br/>
33
+ <section>
34
+ <h1 class="font-weight-bold color-white title ps-4 pt-1 pb-1 br-sm">
35
+ مثالی برای تغییر تم و راست چین کردن سایت
36
+ </h1>
37
+ </section>
38
+ <section>
39
+ <p class="caption">Press run Button</p>
40
+ <r-code-editor
41
+ runnable
42
+ script='data(){
43
+ return {
44
+ "rtl": false
45
+ }
46
+ }'
47
+ template='<r-app :rtl="rtl">
48
+ <div class="color-one">Hello World!</div>
49
+ </r-app>'
50
+ >
51
+ </r-code-editor>
52
+ </section>
53
+ </template>
54
+
55
+ <script>
56
+ export default {
57
+ name: "app",
58
+ data() {
59
+ return {};
60
+ },
61
+ };
62
+ </script>
63
+
64
+ <style lang="scss">
65
+ @import "~renusify/style/include";
66
+ </style>
@@ -0,0 +1,184 @@
1
+ <template>
2
+ <section>
3
+ <div class="color-white mb-2">
4
+ <h1 class="display-3 font-weight-light color-white ps-4 pb-1 pt-1 br-lg">
5
+ r-avatar
6
+ </h1>
7
+ <p class="font-weight-light ps-4 pb-1 py-4 br-lg">
8
+ The
9
+ <r-btn readonly size="small"> r-avatar</r-btn>
10
+ component is commonly used to display circular user profile pictures.
11
+ This component allows you to dynamically size and add border radius to
12
+ images and icons.
13
+ </p>
14
+ </div>
15
+
16
+ <table-props :items="items"></table-props>
17
+ </section>
18
+ <section>
19
+ <p class="caption">Press run Button</p>
20
+ <r-code-editor
21
+ runnable
22
+ script='data(){
23
+ return {
24
+ "size": 48,
25
+ "elevation": "none",
26
+ "editable": null,
27
+ "flat": false,
28
+ "tile": false,
29
+ "headers": null
30
+ }
31
+ }'
32
+ template='<r-avatar :size="size" :elevation="elevation" :editable="editable" :flat="flat" :tile="tile" :headers="headers" ></r-avatar>'
33
+ ></r-code-editor>
34
+ </section>
35
+ <br/>
36
+ <section class="pa-3 text-center">
37
+ <r-avatar></r-avatar>
38
+ </section>
39
+ <section>
40
+ <p class="caption">Press run Button</p>
41
+ <r-code-editor
42
+ runnable
43
+ script='data(){
44
+ return {
45
+ "size": 82,
46
+ }
47
+ }'
48
+ template='
49
+ <r-avatar size="82" class="color-info-text">
50
+ <span>82</span>
51
+ </r-avatar>'
52
+ ></r-code-editor>
53
+ </section>
54
+ <br/>
55
+ <br/>
56
+ <section class="pa-3 color-white">
57
+ <h1 class="font-weight-bold title ps-4 pt-1 pb-1 br-sm">
58
+ PROP / <span>Elevation</span>
59
+ </h1>
60
+ <section class="pa-3 text-center">
61
+ <r-avatar elevation="lg"></r-avatar>
62
+ </section>
63
+ </section>
64
+ <section>
65
+ <p class="caption">Press run Button</p>
66
+ <r-code-editor
67
+ runnable
68
+ template='<r-avatar elevation="lg"></r-avatar>'
69
+ ></r-code-editor>
70
+ </section>
71
+ <br/>
72
+ <br/>
73
+ <section class="pa-3 color-white">
74
+ <h1 class="font-weight-bold title ps-4 pt-1 pb-1 br-sm">
75
+ PROP / <span>Flat</span>
76
+ </h1>
77
+ <section class="pa-3 text-center">
78
+ <r-avatar flat></r-avatar>
79
+ </section>
80
+ </section>
81
+ <section>
82
+ <p class="caption">Press run Button</p>
83
+ <r-code-editor
84
+ runnable
85
+ template="<r-avatar flat></r-avatar>"
86
+ ></r-code-editor>
87
+ </section>
88
+ <br/>
89
+ <br/>
90
+ <section class="pa-3 color-white">
91
+ <h1 class="font-weight-bold title ps-4 pt-1 pb-1 br-sm">
92
+ PROP / <span>Editable</span>
93
+ </h1>
94
+ <section class="text-center">
95
+ <r-avatar editable="/" size="70"></r-avatar>
96
+ </section>
97
+ </section>
98
+ <section>
99
+ <p class="caption">Press run Button</p>
100
+ <r-code-editor
101
+ runnable
102
+ template='<div class="text-center">
103
+ <r-avatar size="70" editable="https://www.codenus.com/img/image1.jpg"></r-avatar>
104
+ </div>>'
105
+ ></r-code-editor>
106
+ </section>
107
+ <br/><br/>
108
+ <section class="pa-3 color-white">
109
+ <h1 class="font-weight-bold title ps-4 pt-1 pb-10 br-sm">
110
+ PROP / <span>Tile</span>
111
+ </h1>
112
+ <section class="d-flex h-space-between ps-20 pe-20">
113
+ <r-avatar class="color-one" size="90" tile>
114
+ <span>90</span>
115
+ </r-avatar>
116
+ <r-avatar class="color-gradient-three-90" size="70" tile>
117
+ <span>70</span>
118
+ </r-avatar>
119
+ <r-avatar class="color-three" size="50" tile>
120
+ <span>50</span>
121
+ </r-avatar>
122
+ <r-avatar class="color-success" size="30" tile>
123
+ <span>30</span>
124
+ </r-avatar>
125
+ </section>
126
+ </section>
127
+ <section>
128
+ <p class="caption">Press run Button</p>
129
+ <r-code-editor
130
+ runnable
131
+ template='<r-avatar tile size="90" class="color-one">
132
+ <span>90</span>
133
+ </r-avatar>'
134
+ ></r-code-editor>
135
+ </section>
136
+ <br/><br/>
137
+ </template>
138
+ <script>
139
+ export default {
140
+ name: "avatar",
141
+ data() {
142
+ return {
143
+ items: [
144
+ {
145
+ prop: "size",
146
+ type: "Number,String",
147
+ default: "48",
148
+ description: "Size",
149
+ },
150
+ {
151
+ prop: "elevation",
152
+ type: "String",
153
+ default: "none",
154
+ description: " provides a base height",
155
+ },
156
+ {
157
+ prop: "editable",
158
+ type: "String",
159
+ default: "undefined",
160
+ description: "Edit Able",
161
+ },
162
+ {
163
+ prop: "flat",
164
+ type: "Boolean",
165
+ default: "null",
166
+ description: "The flat removes all border radius from an element",
167
+ },
168
+ {
169
+ prop: "tile",
170
+ type: "Boolean",
171
+ default: "null",
172
+ description: "It does without corners",
173
+ },
174
+ {
175
+ prop: "headers",
176
+ type: "Object",
177
+ default: "null",
178
+ description: "Headers",
179
+ },
180
+ ],
181
+ };
182
+ },
183
+ };
184
+ </script>