|
@@ -1,7 +1,28 @@
|
|
|
/* global CodeMirror semverCompare makeLink closeCurrentTab runtimeSend */
|
|
/* global CodeMirror semverCompare makeLink closeCurrentTab runtimeSend */
|
|
|
|
|
+/* global messageBox */
|
|
|
'use strict';
|
|
'use strict';
|
|
|
|
|
|
|
|
(() => {
|
|
(() => {
|
|
|
|
|
+ const dialog = (() => {
|
|
|
|
|
+ function alert(text) {
|
|
|
|
|
+ return messageBox({
|
|
|
|
|
+ contents: text,
|
|
|
|
|
+ className: 'pre center',
|
|
|
|
|
+ buttons: [t('confirmClose')]
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function confirm(text) {
|
|
|
|
|
+ return messageBox({
|
|
|
|
|
+ contents: text,
|
|
|
|
|
+ className: 'pre center',
|
|
|
|
|
+ buttons: [t('confirmYes'), t('confirmNo')]
|
|
|
|
|
+ }).then(result => result.button === 0 || result.enter);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return {alert, confirm};
|
|
|
|
|
+ })();
|
|
|
|
|
+
|
|
|
const params = new URLSearchParams(location.search);
|
|
const params = new URLSearchParams(location.search);
|
|
|
let liveReload = false;
|
|
let liveReload = false;
|
|
|
let installed = false;
|
|
let installed = false;
|
|
@@ -15,14 +36,14 @@
|
|
|
switch (msg.method) {
|
|
switch (msg.method) {
|
|
|
case 'getSourceCodeResponse':
|
|
case 'getSourceCodeResponse':
|
|
|
if (msg.error) {
|
|
if (msg.error) {
|
|
|
- alert(msg.error);
|
|
|
|
|
|
|
+ dialog.alert(msg.error);
|
|
|
} else {
|
|
} else {
|
|
|
initSourceCode(msg.sourceCode);
|
|
initSourceCode(msg.sourceCode);
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
case 'sourceCodeChanged':
|
|
case 'sourceCodeChanged':
|
|
|
if (msg.error) {
|
|
if (msg.error) {
|
|
|
- alert(msg.error);
|
|
|
|
|
|
|
+ dialog.alert(msg.error);
|
|
|
} else {
|
|
} else {
|
|
|
liveReloadUpdate(msg.sourceCode);
|
|
liveReloadUpdate(msg.sourceCode);
|
|
|
}
|
|
}
|
|
@@ -185,7 +206,7 @@
|
|
|
window.dispatchEvent(new CustomEvent('installed'));
|
|
window.dispatchEvent(new CustomEvent('installed'));
|
|
|
})
|
|
})
|
|
|
.catch(err => {
|
|
.catch(err => {
|
|
|
- alert(chrome.i18n.getMessage('styleInstallFailed', String(err)));
|
|
|
|
|
|
|
+ dialog.alert(chrome.i18n.getMessage('styleInstallFailed', String(err)));
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -225,15 +246,17 @@
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
$('button.install').onclick = () => {
|
|
$('button.install').onclick = () => {
|
|
|
- if (dup) {
|
|
|
|
|
- if (confirm(chrome.i18n.getMessage('styleInstallOverwrite', [
|
|
|
|
|
|
|
+ const message = dup ?
|
|
|
|
|
+ chrome.i18n.getMessage('styleInstallOverwrite', [
|
|
|
data.name, dupData.version, data.version
|
|
data.name, dupData.version, data.version
|
|
|
- ]))) {
|
|
|
|
|
- install(style);
|
|
|
|
|
|
|
+ ]) :
|
|
|
|
|
+ chrome.i18n.getMessage('styleInstall', [data.name]);
|
|
|
|
|
+
|
|
|
|
|
+ dialog.confirm(message).then(result => {
|
|
|
|
|
+ if (result) {
|
|
|
|
|
+ return install(style);
|
|
|
}
|
|
}
|
|
|
- } else if (confirm(chrome.i18n.getMessage('styleInstall', [data.name]))) {
|
|
|
|
|
- install(style);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ });
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
// set updateUrl
|
|
// set updateUrl
|