@rancher/shell 3.0.8-rc.1 → 3.0.8-rc.2

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 (45) hide show
  1. package/assets/styles/global/_layout.scss +21 -35
  2. package/assets/translations/en-us.yaml +11 -6
  3. package/components/EmberPage.vue +1 -1
  4. package/components/Resource/Detail/CopyToClipboard.vue +1 -1
  5. package/components/Resource/Detail/TitleBar/__tests__/index.test.ts +0 -2
  6. package/components/Resource/Detail/TitleBar/index.vue +10 -6
  7. package/components/ResourceDetail/index.vue +3 -0
  8. package/components/SortableTable/index.vue +1 -0
  9. package/components/{nav/WindowManager → Window}/ContainerLogs.vue +1 -1
  10. package/components/{nav/WindowManager → Window}/ContainerLogsActions.vue +1 -0
  11. package/components/{nav/WindowManager → Window}/__tests__/ContainerLogs.test.ts +1 -1
  12. package/components/{nav/WindowManager → Window}/__tests__/ContainerShell.test.ts +2 -2
  13. package/components/nav/Header.vue +33 -13
  14. package/components/{DraggableZone.vue → nav/WindowManager/PinArea.vue} +47 -80
  15. package/components/nav/WindowManager/composables/useComponentsMount.ts +70 -0
  16. package/components/nav/WindowManager/composables/useDimensionsHandler.ts +105 -0
  17. package/components/nav/WindowManager/composables/useDragHandler.ts +99 -0
  18. package/components/nav/WindowManager/composables/usePanelHandler.ts +72 -0
  19. package/components/nav/WindowManager/composables/usePanelsHandler.ts +14 -0
  20. package/components/nav/WindowManager/composables/useResizeHandler.ts +167 -0
  21. package/components/nav/WindowManager/composables/useTabsHandler.ts +51 -0
  22. package/components/nav/WindowManager/constants.ts +23 -0
  23. package/components/nav/WindowManager/index.vue +61 -575
  24. package/components/nav/WindowManager/panels/HorizontalPanel.vue +265 -0
  25. package/components/nav/WindowManager/panels/TabBodyContainer.vue +39 -0
  26. package/components/nav/WindowManager/panels/VerticalPanel.vue +308 -0
  27. package/components/templates/default.vue +4 -40
  28. package/components/templates/home.vue +31 -5
  29. package/config/store.js +4 -2
  30. package/detail/pod.vue +1 -0
  31. package/directives/ui-context.ts +97 -0
  32. package/initialize/install-directives.js +2 -0
  33. package/package.json +2 -2
  34. package/rancher-components/RcDropdown/RcDropdownItemSelect.vue +5 -1
  35. package/store/ui-context.ts +86 -0
  36. package/store/wm.ts +244 -0
  37. package/types/window-manager.ts +22 -0
  38. package/utils/dynamic-importer.js +2 -2
  39. package/assets/images/icons/document.svg +0 -3
  40. package/store/wm.js +0 -95
  41. /package/components/{nav/WindowManager → Window}/ChartReadme.vue +0 -0
  42. /package/components/{nav/WindowManager → Window}/ContainerShell.vue +0 -0
  43. /package/components/{nav/WindowManager → Window}/KubectlShell.vue +0 -0
  44. /package/components/{nav/WindowManager → Window}/MachineSsh.vue +0 -0
  45. /package/components/{nav/WindowManager → Window}/Window.vue +0 -0
package/store/wm.js DELETED
@@ -1,95 +0,0 @@
1
- import { addObject, removeObject } from '@shell/utils/array';
2
-
3
- export const state = function() {
4
- return {
5
- tabs: [],
6
- active: null,
7
- open: false,
8
- userHeight: null,
9
- userWidth: null,
10
- userPin: null,
11
- };
12
- };
13
-
14
- export const getters = {
15
- byId: (state) => (id) => {
16
- return state.tabs.find((x) => x.id === id);
17
- },
18
- allTabs: (state) => state.tabs,
19
- };
20
-
21
- export const mutations = {
22
- addTab(state, tab) {
23
- const existing = state.tabs.find((x) => x.id === tab.id);
24
-
25
- if ( !existing ) {
26
- addObject(state.tabs, tab);
27
- }
28
-
29
- state.active = tab.id;
30
- state.open = true;
31
- },
32
-
33
- removeTab(state, tab) {
34
- removeObject(state.tabs, tab);
35
- },
36
-
37
- setOpen(state, open) {
38
- state.open = open;
39
- },
40
-
41
- setActive(state, id) {
42
- state.active = id;
43
- },
44
-
45
- setUserHeight(state, height) {
46
- state.userHeight = height;
47
- },
48
-
49
- setUserWidth(state, width) {
50
- state.userWidth = width;
51
- },
52
-
53
- setUserPin(state, pin) {
54
- state.userPin = pin;
55
- }
56
- };
57
-
58
- export const actions = {
59
- close({ state, getters, commit }, id) {
60
- const tab = getters.byId(id);
61
-
62
- if ( !tab ) {
63
- return;
64
- }
65
-
66
- let idx = state.tabs.indexOf(tab);
67
-
68
- commit('removeTab', tab);
69
- if ( idx >= state.tabs.length ) {
70
- idx = state.tabs.length - 1;
71
- }
72
-
73
- if ( idx >= 0 ) {
74
- commit('setActive', state.tabs[idx].id);
75
- } else {
76
- commit('setOpen', false);
77
- }
78
- },
79
-
80
- // {
81
- // id: shell-<pod id> -- A string that is be unique for this instance;
82
- // if a window with this key exists it will be focused instead of creating another
83
- // label: Shown on the tab
84
- // icon: Shown on the tab
85
- // component: 'ContainerShell',
86
- // attrs: { whateverTheComponent: wants }
87
- // }
88
- open({ commit }, tab) {
89
- if ( !tab.id ) {
90
- throw new Error('Window must have an id property');
91
- }
92
-
93
- commit('addTab', tab);
94
- }
95
- };