Skip to content

Commit 498f3b3

Browse files
Ctrl + S keyboard combination support to save the changes
1 parent 606b477 commit 498f3b3

File tree

2 files changed

+39
-30
lines changed

2 files changed

+39
-30
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "cache-visual-editor",
33
"printableName": "Cache Visual Editor",
44
"packageName": "VisualEditor",
5-
"version": "0.9.5",
5+
"version": "0.9.6",
66
"description": "Visual class editor for InterSystems Caché",
77
"main": "index.js",
88
"keywords": [

source/client/js/classEditor/index.js

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -64,35 +64,13 @@ let footer = onInit(() => {
6464
}),
6565
saveButton = onInit(() => {
6666
saveButton = document.querySelector("#saveIndicator");
67-
saveButton.addEventListener("click", () => {
68-
saveChanges(NAMESPACE, (res) => {
69-
70-
if (!res["error"]) {
71-
changeIsMade(false);
72-
new Toast(Toast.TYPE_DONE, `Saved!`);
73-
} else {
74-
new Toast(Toast.TYPE_ERROR, res["error"], Toast.TIME_LONG);
75-
}
76-
77-
// // REPLACES CLASS ON SAVE (temporary commented as side effects appear)
78-
// for (let className in res[`modified`] || {}) { // update modified classes
79-
// let renderedServiceData = CLASSES_RENDERED[className];
80-
// // [`cardElement`] is assigned during new class spawn.
81-
// if (
82-
// !(renderedServiceData || {})[`cardElement`]
83-
// || !res[`modified`][className][`success`]
84-
// || !res[`modified`][className][`class`]
85-
// )
86-
// continue;
87-
// let b, a;
88-
// grid.replaceChild(
89-
// b = renderedServiceData[`cardElement`],
90-
// a = applyClass(res[`modified`][className][`class`], renderedServiceData)
91-
// );
92-
// console.log("replacing", b, a);
93-
// }
94-
95-
});
67+
saveButton.addEventListener("click", () => saveButtonTrigger());
68+
document.addEventListener(`keydown`, (e) => {
69+
if (!((e.which === 115 || e.which === 83) && e.ctrlKey) && !(e.which === 19))
70+
return true;
71+
saveButtonTrigger();
72+
e.preventDefault();
73+
return false;
9674
});
9775
}),
9876
addClassPackageButton = onInit(() => {
@@ -178,6 +156,37 @@ let footer = onInit(() => {
178156

179157
});
180158

159+
function saveButtonTrigger () {
160+
saveChanges(NAMESPACE, (res) => {
161+
162+
if (!res["error"]) {
163+
changeIsMade(false);
164+
new Toast(Toast.TYPE_DONE, `Saved!`);
165+
} else {
166+
new Toast(Toast.TYPE_ERROR, res["error"], Toast.TIME_LONG);
167+
}
168+
169+
// // REPLACES CLASS ON SAVE (temporary commented as side effects appear)
170+
// for (let className in res[`modified`] || {}) { // update modified classes
171+
// let renderedServiceData = CLASSES_RENDERED[className];
172+
// // [`cardElement`] is assigned during new class spawn.
173+
// if (
174+
// !(renderedServiceData || {})[`cardElement`]
175+
// || !res[`modified`][className][`success`]
176+
// || !res[`modified`][className][`class`]
177+
// )
178+
// continue;
179+
// let b, a;
180+
// grid.replaceChild(
181+
// b = renderedServiceData[`cardElement`],
182+
// a = applyClass(res[`modified`][className][`class`], renderedServiceData)
183+
// );
184+
// console.log("replacing", b, a);
185+
// }
186+
187+
});
188+
}
189+
181190
/**
182191
* Get the location hash parameter value.
183192
* @param {string} name - Parameter name.

0 commit comments

Comments
 (0)