Browse Source

feat: add max and min editor zoom settings

Ahmad Kholid 3 years ago
parent
commit
5bd1ee93e5

+ 2 - 1
src/components/newtab/workflow/WorkflowEditor.vue

@@ -127,11 +127,12 @@ const { t } = useI18n();
 const store = useStore();
 const editor = useVueFlow({
   id: props.id,
-  minZoom: 0.6,
   edgeUpdaterRadius: 20,
   deleteKeyCode: 'Delete',
   elevateEdgesOnSelect: true,
   defaultZoom: props.data?.zoom ?? 1,
+  minZoom: store.settings.editor.minZoom,
+  maxZoom: store.settings.editor.maxZoom,
   multiSelectionKeyCode: isMac ? 'Meta' : 'Control',
   defaultPosition: getPosition(props.data?.position),
   ...props.options,

+ 13 - 0
src/newtab/pages/settings/SettingsEditor.vue

@@ -28,6 +28,19 @@
         </span>
       </div>
     </div>
+    <p class="font-semibold mt-8">Zoom</p>
+    <div class="flex items-center mt-1 space-x-4">
+      <ui-input
+        v-model.number="settings.minZoom"
+        type="number"
+        label="Min zoom"
+      />
+      <ui-input
+        v-model.number="settings.maxZoom"
+        type="number"
+        label="Max zoom"
+      />
+    </div>
     <ui-list class="mt-8 space-y-2">
       <ui-list-item small>
         <ui-switch v-model="settings.arrow" />

+ 2 - 0
src/stores/main.js

@@ -16,6 +16,8 @@ export const useStore = defineStore('main', {
       locale: 'en',
       deleteLogAfter: 30,
       editor: {
+        minZoom: 0.6,
+        maxZoom: 1.3,
         arrow: false,
         snapToGrid: false,
         lineType: 'default',