input setup cleanup
This commit is contained in:
parent
b79c8da8e2
commit
66c915a1ed
6 changed files with 58 additions and 95 deletions
|
|
@ -92,6 +92,8 @@ export function bind() {
|
|||
settings: $('settings'),
|
||||
settingsBody: $('settingsBody'),
|
||||
settingsList: $('settingsList'),
|
||||
settingsName: $('settingsName'),
|
||||
settingsSave: $('settingsSave'),
|
||||
|
||||
slider: {
|
||||
div: $('slider'),
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ api.event.emit('preset', api.conf.dbo());
|
|||
|
||||
// api.event.on("set.threaded", bool => setThreaded(bool));
|
||||
|
||||
function onBooleanClick(el) {
|
||||
export function onBooleanClick(el) {
|
||||
// copy some ui elements to target settings
|
||||
let settings = api.conf.get();
|
||||
settings.device.bedBelt = ui.deviceBelt.checked && api.mode.is_fdm();
|
||||
|
|
@ -130,8 +130,17 @@ function isNotBelt() {
|
|||
return !isBelt();
|
||||
}
|
||||
|
||||
function onResize() {
|
||||
if (WIN.innerHeight < 800) {
|
||||
ui.modalBox.classList.add('mh85');
|
||||
} else {
|
||||
ui.modalBox.classList.remove('mh85');
|
||||
}
|
||||
api.view.update_slider();
|
||||
}
|
||||
|
||||
// MAIN UI INITIALIZATION FUNCTION
|
||||
function init_one() {
|
||||
export function init_input() {
|
||||
let { event, conf, view, show } = api,
|
||||
{ newBlank, newButton, newBoolean, newGroup, newInput } = uc,
|
||||
{ newSelect, newRow, newGCode, newDiv, toInt, toFloat } = uc;
|
||||
|
|
@ -154,19 +163,11 @@ function init_one() {
|
|||
tracker = $('tracker'),
|
||||
controller = settings().controller;
|
||||
|
||||
WIN.addEventListener("resize", () => {
|
||||
event.emit('resize');
|
||||
});
|
||||
|
||||
event.on('resize', () => {
|
||||
if (WIN.innerHeight < 800) {
|
||||
ui.modalBox.classList.add('mh85');
|
||||
} else {
|
||||
ui.modalBox.classList.remove('mh85');
|
||||
}
|
||||
view.update_slider();
|
||||
});
|
||||
// window resize handlers
|
||||
WIN.addEventListener("resize", onResize);
|
||||
event.on('resize', onResize);
|
||||
|
||||
// configure moto.space
|
||||
space.sky.showGrid(false);
|
||||
space.sky.setColor(controller.dark ? 0 : 0xffffff);
|
||||
space.setAntiAlias(controller.antiAlias);
|
||||
|
|
@ -326,9 +327,6 @@ function init_one() {
|
|||
...menuSLA(),
|
||||
|
||||
layers: uc.setGroup($("layers")),
|
||||
|
||||
settingsName: $('settingsName'),
|
||||
settingsSave: $('settingsSave'),
|
||||
});
|
||||
|
||||
// run client mode initializations right after UI is bound
|
||||
|
|
@ -347,8 +345,8 @@ function init_one() {
|
|||
settingsOps.settingsSave(undefined, ui.settingsName.value);
|
||||
};
|
||||
|
||||
// initialize modal controller
|
||||
modal.init({
|
||||
// initialize and expose modal to API
|
||||
api.modal = modal.init({
|
||||
ui: {
|
||||
modal: ui.modal,
|
||||
modals: ui.modals
|
||||
|
|
@ -361,23 +359,9 @@ function init_one() {
|
|||
}
|
||||
});
|
||||
|
||||
// expose modal to API
|
||||
api.modal = modal;
|
||||
|
||||
// slider setup
|
||||
slider.init({
|
||||
ui: {
|
||||
layers: ui.layers,
|
||||
slider: ui.slider,
|
||||
sliderRange: ui.sliderRange,
|
||||
sliderHold: ui.sliderHold,
|
||||
sliderMid: ui.sliderMid,
|
||||
sliderLo: ui.sliderLo,
|
||||
sliderHi: ui.sliderHi,
|
||||
sliderMin: ui.sliderMin,
|
||||
sliderMax: ui.sliderMax,
|
||||
sliderZero: $('slider-zero'),
|
||||
},
|
||||
// initialize and expose slider to API
|
||||
api.slider = slider.init({
|
||||
ui,
|
||||
tracker: tracker,
|
||||
mobile: space.info.mob,
|
||||
onLayerChange: (hi, lo) => {
|
||||
|
|
@ -392,11 +376,8 @@ function init_one() {
|
|||
}
|
||||
});
|
||||
|
||||
// expose slider to API
|
||||
api.slider = slider;
|
||||
|
||||
// initialize keyboard controller
|
||||
keyboard.init({
|
||||
// initialize and expose keyboard to API
|
||||
api.keyboard = keyboard.init({
|
||||
api,
|
||||
platform,
|
||||
selection,
|
||||
|
|
@ -413,65 +394,46 @@ function init_one() {
|
|||
settingsLoad: settingsOps.settingsLoad
|
||||
});
|
||||
|
||||
// expose keyboard to API
|
||||
api.keyboard = keyboard;
|
||||
|
||||
// add mobile class to body if needed
|
||||
if (space.info.mob) {
|
||||
DOC.body.classList.add('mobile');
|
||||
}
|
||||
|
||||
ui.load.onchange = function(event) {
|
||||
ui.load.onchange = (event) => {
|
||||
api.platform.load_files(event.target.files);
|
||||
ui.load.value = ''; // reset so you can re-import the same filee
|
||||
};
|
||||
|
||||
// store layer preferences
|
||||
api.event.on('stack.show', label => {
|
||||
api.event.on('stack.show', (label) => {
|
||||
let mode = api.mode.get();
|
||||
let view = api.view.get();
|
||||
api.conf.get().labels[`${mode}-${view}-${label}`] = true;
|
||||
});
|
||||
|
||||
api.event.on('stack.hide', label => {
|
||||
api.event.on('stack.hide', (label) => {
|
||||
let mode = api.mode.get();
|
||||
let view = api.view.get();
|
||||
api.conf.get().labels[`${mode}-${view}-${label}`] = false;
|
||||
});
|
||||
|
||||
// bind language choices
|
||||
$('lset-en').onclick = function() {
|
||||
sdb.setItem('kiri-lang', 'en-us');
|
||||
api.space.reload();
|
||||
};
|
||||
$('lset-da').onclick = function() {
|
||||
sdb.setItem('kiri-lang', 'da-dk');
|
||||
api.space.reload();
|
||||
};
|
||||
$('lset-de').onclick = function() {
|
||||
sdb.setItem('kiri-lang', 'de-de');
|
||||
api.space.reload();
|
||||
};
|
||||
$('lset-fr').onclick = function() {
|
||||
sdb.setItem('kiri-lang', 'fr-fr');
|
||||
api.space.reload();
|
||||
};
|
||||
$('lset-pl').onclick = function() {
|
||||
sdb.setItem('kiri-lang', 'pl-pl');
|
||||
api.space.reload();
|
||||
};
|
||||
$('lset-pt').onclick = function() {
|
||||
sdb.setItem('kiri-lang', 'pt-pt');
|
||||
api.space.reload();
|
||||
};
|
||||
$('lset-es').onclick = function() {
|
||||
sdb.setItem('kiri-lang', 'es-es');
|
||||
api.space.reload();
|
||||
};
|
||||
$('lset-zh').onclick = function() {
|
||||
sdb.setItem('kiri-lang', 'zh');
|
||||
api.space.reload();
|
||||
};
|
||||
// bind menu language choices
|
||||
let lang_map = [
|
||||
[ 'lset-en', 'en-us' ],
|
||||
[ 'lset-da', 'da-dk' ],
|
||||
[ 'lset-de', 'de-de' ],
|
||||
[ 'lset-fr', 'fr-fr' ],
|
||||
[ 'lset-pl', 'pl-pl' ],
|
||||
[ 'lset-pt', 'pt-pt' ],
|
||||
[ 'lset-es', 'es-es' ],
|
||||
[ 'lset-zh', 'zh' ],
|
||||
]
|
||||
for (let [ btn, lang ] of lang_map) {
|
||||
$(btn).onclick = () => {
|
||||
sdb.setItem('kiri-lang', lang);
|
||||
api.space.reload();
|
||||
};
|
||||
}
|
||||
|
||||
space.event.addHandlers(self, [
|
||||
'dragover', fileOps.dragOverHandler,
|
||||
|
|
@ -576,5 +538,3 @@ function init_one() {
|
|||
api.space.restore(resolve) || checkSeed(resolve) || resolve();
|
||||
});
|
||||
};
|
||||
|
||||
export { onBooleanClick, init_one as init_input };
|
||||
|
|
|
|||
|
|
@ -12,21 +12,18 @@ import { space } from '../../../moto/space.js';
|
|||
import { VIEWS } from '../../core/consts.js';
|
||||
import * as view_tools from '../tools.js';
|
||||
|
||||
const { SETUP, LOCAL } = api.const;
|
||||
const { catalog, client, platform, selection, stats, ui } = api;
|
||||
|
||||
const DOC = self.document;
|
||||
const WIN = self.window;
|
||||
const proto = location.protocol;
|
||||
const { SETUP, LOCAL } = api.const;
|
||||
const { platform, client, catalog, stats } = api;
|
||||
const LANG = api.language.current;
|
||||
const ui = api.ui;
|
||||
const STARTMODE = SETUP.sm && SETUP.sm.length === 1 ? SETUP.sm[0] : null;
|
||||
|
||||
function settings() {
|
||||
return api.conf.get();
|
||||
}
|
||||
|
||||
// SECOND STAGE INIT AFTER UI RESTORED
|
||||
export async function init_sync() {
|
||||
const proto = location.protocol;
|
||||
|
||||
api.event.emit('init.two');
|
||||
|
||||
// load script extensions
|
||||
|
|
@ -107,7 +104,7 @@ export async function init_sync() {
|
|||
});
|
||||
|
||||
// Setup navigation button bindings
|
||||
setup_keybd_nav(ui, WIN, LANG);
|
||||
setup_keybd_nav();
|
||||
|
||||
// show topline separator when iframed
|
||||
try { if (WIN.self !== WIN.top) $('top-sep').style.display = 'flex' } catch (e) { console.log(e) }
|
||||
|
|
@ -132,7 +129,7 @@ export async function init_sync() {
|
|||
}
|
||||
|
||||
function ui_sync() {
|
||||
const current = settings();
|
||||
const current = api.conf.get();
|
||||
const control = current.controller;
|
||||
|
||||
if (!control.devel) {
|
||||
|
|
@ -198,9 +195,7 @@ function ui_sync() {
|
|||
client.wasm(control.assembly === true);
|
||||
}
|
||||
|
||||
function setup_keybd_nav(ui, WIN, LANG) {
|
||||
const { selection } = api;
|
||||
|
||||
function setup_keybd_nav() {
|
||||
// bind interface action elements
|
||||
ui.acct.help.onclick = (ev) => { ev.stopPropagation(); api.help.show() };
|
||||
ui.acct.don8.onclick = (ev) => { ev.stopPropagation(); api.modal.show('don8') };
|
||||
|
|
|
|||
|
|
@ -62,6 +62,8 @@ class KeyboardControl {
|
|||
|
||||
this.#bindEvents();
|
||||
this.#initialized = true;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@ class ModalControl {
|
|||
this.#onShow = onShow;
|
||||
this.#onHide = onHide;
|
||||
this.#initialized = true;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -52,6 +52,8 @@ class SliderControl {
|
|||
this.#setupUI();
|
||||
this.#bindEvents();
|
||||
this.#initialized = true;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue