update
This commit is contained in:
@@ -10,6 +10,8 @@ class DelayPromise extends Promise {
|
||||
|
||||
class ScaleHelper {
|
||||
scaleTo(scale, fontElement, container, ignoreHeight, ignoreWidth, margin, fontWeight) {
|
||||
console.log("test");
|
||||
|
||||
margin = Helper.nonNull(margin, 10);
|
||||
ignoreHeight = Helper.nonNull(ignoreHeight, false);
|
||||
ignoreWidth = Helper.nonNull(ignoreWidth, false);
|
||||
|
||||
@@ -103,13 +103,14 @@ class Form {
|
||||
let self = this;
|
||||
|
||||
this.submitCallback = null;
|
||||
this.errorCallback = function (errors) {
|
||||
self.setErrors(errors);
|
||||
this.errorCallback = async function (errors) {
|
||||
await self.setErrors(errors);
|
||||
};
|
||||
|
||||
formElem.addEventListener("submit", function (e) {
|
||||
formElem.addEventListener("submit", async function (e) {
|
||||
console.log("submitting!", e);
|
||||
e.preventDefault();
|
||||
self.doSubmit(e);
|
||||
await self.doSubmit(e);
|
||||
});
|
||||
|
||||
for (let i = 0, n = formElem.elements.length; i < n; i++) {
|
||||
@@ -187,6 +188,18 @@ class Form {
|
||||
self.setIsBusy(false);
|
||||
for (let k in values) {
|
||||
if (Helper.isNotNull(self.formElem.elements[k])) {
|
||||
if (Helper.isNotNull(self.formElem.elements[k].options) && Helper.isNotNull(values[k+"Options"]))
|
||||
{
|
||||
let options = self.formElem.elements[k].options;
|
||||
for (let val in values[k+"Options"])
|
||||
{
|
||||
let option = document.createElement("option");
|
||||
option.value = val;
|
||||
option.innerText = values[k+"Options"][val];
|
||||
options.add(option);
|
||||
}
|
||||
}
|
||||
|
||||
self.formElem.elements[k].value = Helper.htmlspecialcharsDecode(values[k]);
|
||||
if (Helper.isNotNull(values[k]) && (""+values[k]).trim() !== "") {
|
||||
self.formElem.elements[k].classList.add("notEmpty");
|
||||
@@ -200,7 +213,7 @@ class Form {
|
||||
});
|
||||
}
|
||||
|
||||
setErrors(errors) {
|
||||
async setErrors(errors) {
|
||||
let hasElem = false;
|
||||
let firstError = null;
|
||||
|
||||
@@ -225,6 +238,7 @@ class Form {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (hasElem) {
|
||||
this.formElem.querySelector("input[type=submit]").click();
|
||||
}
|
||||
@@ -279,6 +293,7 @@ class SettingsManager {
|
||||
|
||||
getSetting(name, defaultValue) {
|
||||
const settings = this.getSettings();
|
||||
|
||||
if (Helper.isNotNull(settings[name])) {
|
||||
return settings[name].value;
|
||||
}
|
||||
@@ -310,6 +325,11 @@ class SettingsManager {
|
||||
this._saveSettings();
|
||||
}
|
||||
|
||||
hasSetting(name)
|
||||
{
|
||||
return Helper.nonNull(this._settings[name]);
|
||||
}
|
||||
|
||||
_loadSettings() {
|
||||
this._settings = localStorage.getItem(this._localStorageKey);
|
||||
if (this._settings === null) {
|
||||
@@ -334,15 +354,17 @@ class LocalStorageSettingsFragment extends Fragment {
|
||||
let res = super.onFirstStart();
|
||||
let settings = this.findBy(".setting", true);
|
||||
const settingsManager = SettingsManager.getInstance();
|
||||
for (let i = 0, n = settings.length; i < n; i++) {
|
||||
|
||||
for (let i = 0; i < settings.length; i++) {
|
||||
let setting = settings[i];
|
||||
const name = setting.name;
|
||||
let value = settingsManager.getSetting(name);
|
||||
|
||||
let isCheckable = false;
|
||||
if (setting instanceof HTMLInputElement && (setting.type === 'checkbox' || setting.type === 'radio')) {
|
||||
isCheckable = true;
|
||||
}
|
||||
if (Helper.isNull(value) && Helper.isNotNull(settings[i]["dataset"]["default"])) {
|
||||
if (!settingsManager.hasSetting(name) && Helper.isNotNull(settings[i]["dataset"]["default"])) {
|
||||
value = setting["dataset"]["default"];
|
||||
if (Helper.isNotNull(setting["dataset"]["defaultTranslateable"])) {
|
||||
|
||||
@@ -383,7 +405,6 @@ class LocalStorageSettingsFragment extends Fragment {
|
||||
delete setting["dataset"]["translation"];
|
||||
});
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
}
|
||||
@@ -709,7 +730,7 @@ class ListHelper {
|
||||
|
||||
class SettingsSite extends AbstractSite {
|
||||
constructor(siteManager) {
|
||||
super(siteManager, 'public/html/settings.html', "settings");
|
||||
super(siteManager, 'core/html/settings.html', "settings");
|
||||
for (let k in SettingsSite.settingsFragments) {
|
||||
this.addSettingsFragment(k, new SettingsSite.settingsFragments[k](this));
|
||||
}
|
||||
@@ -785,10 +806,10 @@ SettingsSite.shouldAddSettingsSite = true;
|
||||
|
||||
InitPromise.addPromise(function (app) {
|
||||
if (SettingsSite.shouldAddSettingsSite) {
|
||||
app.addDeepLink("settings", SettingsSite.name);
|
||||
app.addDeepLink("settings", SettingsSite);
|
||||
|
||||
let settingsAction = new MenuAction("settings", function () {
|
||||
app.startSite(SettingsSite.name);
|
||||
app.startSite(SettingsSite);
|
||||
}, MenuAction.SHOW_FOR_LARGE, 10000);
|
||||
settingsAction.setIcon("img/settings.png");
|
||||
app.addDefaultAction(settingsAction);
|
||||
|
||||
@@ -36,6 +36,10 @@ class MenuAction {
|
||||
this._shouldTranslate = shouldTranslate;
|
||||
}
|
||||
|
||||
getShowFor(){
|
||||
return this.showFor;
|
||||
}
|
||||
|
||||
getTitle()
|
||||
{
|
||||
return this.title;
|
||||
@@ -55,7 +59,7 @@ class MenuAction {
|
||||
}
|
||||
if (removeCopies)
|
||||
{
|
||||
for (let i = 0, n = this._copies.length; i < n; i++) {
|
||||
for (let i = 0; i < this._copies.length; i++) {
|
||||
this._copies[i].remove();
|
||||
}
|
||||
}
|
||||
@@ -203,7 +207,7 @@ class Menu {
|
||||
this.sortActions();
|
||||
|
||||
let actionElements = [];
|
||||
for (let i = 0, n = this.actions.length; i < n; i++) {
|
||||
for (let i = 0; i < this.actions.length; i++) {
|
||||
let element = this.renderAction(this.actions[i]);
|
||||
this.actions[i]._htmlElement = element;
|
||||
actionElements.push(element);
|
||||
@@ -310,7 +314,7 @@ class Menu {
|
||||
|
||||
_getElementsForAction(action){
|
||||
let elements = [];
|
||||
for (let i = 0, n = this.parentElements.length; i < n; i++) {
|
||||
for (let i = 0; i < this.parentElements.length; i++) {
|
||||
let elem = this.parentElements[i].querySelector("[data-id=\""+action.getId()+"\"]");
|
||||
Helper.isNull(elem) || elements.push(elem);
|
||||
}
|
||||
@@ -319,6 +323,7 @@ class Menu {
|
||||
|
||||
updateAction(action)
|
||||
{
|
||||
console.log("update action here!");
|
||||
let oldElements = this._getElementsForAction(action);
|
||||
if (oldElements.length === 0)
|
||||
{
|
||||
@@ -328,7 +333,7 @@ class Menu {
|
||||
let element = this.renderAction(action);
|
||||
action._htmlElement = element;
|
||||
|
||||
for (let i = 0, n = oldElements.length; i < n; i++) {
|
||||
for (let i = 0; i < oldElements.length; i++) {
|
||||
oldElements[i].replaceWith(Helper.cloneNode(element));
|
||||
}
|
||||
}
|
||||
@@ -402,7 +407,7 @@ class Submenu extends Menu
|
||||
if (Helper.isNotNull(this.parentElements))
|
||||
{
|
||||
let self = this;
|
||||
for (let i = 0, n = this.parentElements.length; i < n; i++) {
|
||||
for (let i = 0; i < this.parentElements.length; i++) {
|
||||
let closeListener = document.createElement("div");
|
||||
closeListener.classList.add("close-listener");
|
||||
closeListener.onclick = function(e){
|
||||
@@ -973,7 +978,7 @@ class Helper {
|
||||
static encodeToBase(stringToEncode, base) {
|
||||
let encodedString = "";
|
||||
let charlength = Math.floor(Math.log(265) / Math.log(base));
|
||||
for (let i = 0, n = stringToEncode.length; i < n; i++) {
|
||||
for (let i = 0; i < stringToEncode.length; i++) {
|
||||
let value = stringToEncode.charCodeAt(i).toString(base);
|
||||
let joinLength = value.length % charlength;
|
||||
if (joinLength > 0) {
|
||||
@@ -1494,7 +1499,6 @@ class ActionBarMenu extends Menu {
|
||||
responsiveMenu.firstElementChild.addEventListener("click", function (e) {
|
||||
if (e.target === responsiveMenu.firstElementChild && Helper.isNotNull(ActionBarMenu.currentMenu)) {
|
||||
ActionBarMenu.currentMenu.close();
|
||||
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -1504,7 +1508,7 @@ class ActionBarMenu extends Menu {
|
||||
static _getCurrentSize() {
|
||||
let matched;
|
||||
|
||||
for (let i = 0, n = ActionBarMenu.queries.length; i < n; i++) {
|
||||
for (let i = 0; i < ActionBarMenu.queries.length; i++) {
|
||||
let query = ActionBarMenu.queries[i];
|
||||
|
||||
if (matchMedia(query.value).matches) {
|
||||
@@ -1519,12 +1523,6 @@ class ActionBarMenu extends Menu {
|
||||
}
|
||||
}
|
||||
|
||||
renderLiElement(aElement, action) {
|
||||
let liElement = super.renderLiElement(aElement, action);
|
||||
liElement.classList.add(action.showFor);
|
||||
return liElement;
|
||||
}
|
||||
|
||||
static filterVisibleElements(elements) {
|
||||
let visibleElements = [];
|
||||
for (let i = 0, n = elements.length; i < n; i++) {
|
||||
@@ -1535,12 +1533,18 @@ class ActionBarMenu extends Menu {
|
||||
return visibleElements;
|
||||
}
|
||||
|
||||
renderLiElement(aElement, action) {
|
||||
let liElement = super.renderLiElement(aElement, action);
|
||||
liElement.classList.add(action.getShowFor());
|
||||
return liElement;
|
||||
}
|
||||
|
||||
updateToggleButton() {
|
||||
let size = ActionBarMenu._getCurrentSize();
|
||||
let firstParentElement = this.parentElements[0];
|
||||
if (ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_FOR_LARGE)).length > 0 && (size === "medium" || size === "smedium" || size === "small") ||
|
||||
ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_FOR_MEDIUM)).length > 0 && (size === "smedium" || size === "small") ||
|
||||
ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_FOR_SMEDIUM)).length > 0 && (size === "small") ||
|
||||
if ((size === "medium" || size === "smedium" || size === "small") && ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_FOR_LARGE)).length > 0 ||
|
||||
(size === "smedium" || size === "small") && ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_FOR_MEDIUM)).length > 0 ||
|
||||
(size === "small") && ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_FOR_SMEDIUM)).length > 0 ||
|
||||
ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_NEVER)).length > 0) {
|
||||
document.getElementById("responsive-menu-toggle").style.display = 'block';
|
||||
} else {
|
||||
@@ -1576,7 +1580,6 @@ class ActionBarMenu extends Menu {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
removeAction(action) {
|
||||
let res = super.removeAction(action);
|
||||
this.updateToggleButton();
|
||||
@@ -1744,7 +1747,7 @@ class Context {
|
||||
}
|
||||
}
|
||||
|
||||
class AbstractSite$1 extends Context {
|
||||
class AbstractSite extends Context {
|
||||
constructor(siteManager, view, deepLink) {
|
||||
super(view);
|
||||
|
||||
@@ -1987,7 +1990,7 @@ class SiteManager {
|
||||
}
|
||||
|
||||
startSite(siteConstructor, paramsPromise) {
|
||||
if (!(siteConstructor.prototype instanceof AbstractSite$1))
|
||||
if (!(siteConstructor.prototype instanceof AbstractSite))
|
||||
{
|
||||
throw {
|
||||
"error": "wrong class given! Expected AbstractSite, given "+siteConstructor.name
|
||||
@@ -2171,7 +2174,7 @@ class SiteManager {
|
||||
}
|
||||
}
|
||||
|
||||
class PauseSite extends AbstractSite$1 {
|
||||
class PauseSite extends AbstractSite {
|
||||
onConstruct(args) {
|
||||
let pausedElement = null;
|
||||
|
||||
@@ -3522,22 +3525,31 @@ class Prioritised {
|
||||
this.prioResult = -1;
|
||||
this.callback = null;
|
||||
this.hasResult = false;
|
||||
this.highestPrio = -1;
|
||||
|
||||
let self = this;
|
||||
this.callbackCalledPromise = new Promise(function (resolver) {
|
||||
self.callbackCalledPromiseResolver = resolver;
|
||||
});
|
||||
|
||||
this.endPromise = new Promise(function (resolver) {
|
||||
self.endPromiseResolver = resolver;
|
||||
});
|
||||
|
||||
this.setCallback(callback);
|
||||
|
||||
for (let k in resultPromises) {
|
||||
resultPromises[k].then(function (res) {
|
||||
self.setResult(k, res);
|
||||
});
|
||||
this.registerResultPromise(k, resultPromises[k]);
|
||||
}
|
||||
}
|
||||
|
||||
setResult(prio, result) {
|
||||
async registerResultPromise(prio, promise) {
|
||||
this.highestPrio = Math.max(prio, this.highestPrio);
|
||||
let res = await Promise.resolve(promise);
|
||||
this._setResult(prio, res);
|
||||
}
|
||||
|
||||
_setResult(prio, result) {
|
||||
if (this.prioResult <= prio || !this.hasResult) {
|
||||
this.hasResult = true;
|
||||
|
||||
@@ -3547,6 +3559,12 @@ class Prioritised {
|
||||
this.callback(result, prio, this);
|
||||
this.callbackCalledPromiseResolver();
|
||||
}
|
||||
|
||||
|
||||
if (prio == this.highestPrio) {
|
||||
console.log("endPromise resolved!");
|
||||
this.endPromiseResolver();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3561,6 +3579,10 @@ class Prioritised {
|
||||
getCallbackCalledPromise() {
|
||||
return this.callbackCalledPromise;
|
||||
}
|
||||
|
||||
getEndPromise() {
|
||||
return this.endPromise;
|
||||
}
|
||||
}
|
||||
|
||||
class ScriptLoader {
|
||||
@@ -4033,7 +4055,7 @@ class DBTranslator extends Translator {
|
||||
|
||||
function applyPolyfills(){
|
||||
if (!String.prototype.format) {
|
||||
String.prototype.format = function (args) {
|
||||
String.prototype["format"] = function (args) {
|
||||
return this.replace(/{(\d+)}/g, function (match, number) {
|
||||
return args[number] !== undefined
|
||||
? args[number]
|
||||
@@ -4042,7 +4064,7 @@ function applyPolyfills(){
|
||||
});
|
||||
};
|
||||
}
|
||||
Object.assign = Helper.nonNull(Object.assign, function (base, obj) {
|
||||
Object["assign"] = Helper.nonNull(Object["assign"], function (base, obj) {
|
||||
base = Helper.nonNull(base, {});
|
||||
if (obj === null || typeof(obj) !== 'object' || 'isActiveClone' in obj)
|
||||
return base;
|
||||
@@ -4076,7 +4098,6 @@ function applyPolyfills(){
|
||||
}
|
||||
|
||||
if (HTMLElement) {
|
||||
|
||||
HTMLElement.prototype["fadeOut"] = Helper.nonNull(HTMLElement.prototype["fadeOut"],
|
||||
function (time, effect, delay) {
|
||||
time = Helper.nonNull(time, 0.5);
|
||||
@@ -4212,7 +4233,7 @@ function applyPolyfills(){
|
||||
});
|
||||
|
||||
|
||||
var fetch = Helper.nonNull(fetch, function (url) {
|
||||
window["fetch"] = Helper.nonNull(window["fetch"], function (url) {
|
||||
console.log("customFetch", url);
|
||||
let request = null;
|
||||
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
|
||||
@@ -4253,4 +4274,4 @@ function applyPolyfills(){
|
||||
});
|
||||
}
|
||||
|
||||
export { App, ChainAble, CookieCompliance, ConfirmDialog, Dialog, FlashMessenger, AbstractService, AbstractGapiResponse, Achievement, AchievementList, GameService, GapiPlayer, Leaderboard, Score, GapiHandler, Helper, InitPromise, ActionBarMenu, Menu, MenuAction, OpenSubmenuAction, Submenu, MyDb, Prioritised, ScriptLoader, CopyShareButton, ShareButton, ShareManager, SmsShareButton, TelegramShareButton, WhatsappShareButton, SimpleWS, AbstractSite$1 as AbstractSite, Context, Fragment, PauseSite, SiteContainer, SiteManager, SystemSettings, Theme, ThemeManager, DBTranslator, Translator, TranslatorDB, ViewInflater, applyPolyfills };
|
||||
export { App, ChainAble, CookieCompliance, ConfirmDialog, Dialog, FlashMessenger, AbstractService, AbstractGapiResponse, Achievement, AchievementList, GameService, GapiPlayer, Leaderboard, Score, GapiHandler, Helper, InitPromise, ActionBarMenu, Menu, MenuAction, OpenSubmenuAction, Submenu, MyDb, Prioritised, ScriptLoader, CopyShareButton, ShareButton, ShareManager, SmsShareButton, TelegramShareButton, WhatsappShareButton, SimpleWS, AbstractSite, Context, Fragment, PauseSite, SiteContainer, SiteManager, SystemSettings, Theme, ThemeManager, DBTranslator, Translator, TranslatorDB, ViewInflater, applyPolyfills };
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,13 @@
|
||||
import {SystemSettings, Translator} from "./lib/pwa-lib";
|
||||
|
||||
SystemSettings.setBasePath("/pwa/wordRotator/public/");
|
||||
|
||||
let basePath = "/pwa/wordRotator/public/";
|
||||
if (window.location.pathname.endsWith("publicTest/"))
|
||||
{
|
||||
basePath = "/pwa/wordRotator/publicTest/";
|
||||
}
|
||||
|
||||
SystemSettings.setBasePath(basePath);
|
||||
Translator.supportedLanguages = ["de", "en"];
|
||||
Translator.markTranslations = false;
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class='show-when-won flex-center height-20'>
|
||||
<button class='button' id='continue-button' data-translation="continue"></button>
|
||||
<button class='button max-width' id='continue-button' data-translation="continue"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -56,7 +56,7 @@ export class LevelSite extends AbstractSite {
|
||||
let wonText = this.findBy("#won-text");
|
||||
|
||||
let scaleHelper = new ScaleHelper();
|
||||
scaleHelper.scaleToFull(continueButton, continueButton.parentElement);
|
||||
scaleHelper.scaleToFull(continueButton, continueButton.parentElement, false, true);
|
||||
scaleHelper.scaleToFull(wonText, wonText.parentElement);
|
||||
|
||||
this.levelCounterAction.setTitle(this.levelCounter);
|
||||
@@ -70,6 +70,7 @@ export class LevelSite extends AbstractSite {
|
||||
let currentLevelInfo = localStorage.getItem("currentLevel");
|
||||
if (currentLevelInfo !== null) {
|
||||
currentLevelInfo = JSON.parse(currentLevelInfo);
|
||||
console.log("LevelID: ", currentLevelInfo["id"]);
|
||||
|
||||
const db = WordRotatorDb.getInstance();
|
||||
const levelJson = await db.loadLevel(currentLevelInfo["id"]);
|
||||
|
||||
@@ -9,7 +9,6 @@ export class SynchronizeSite extends AbstractSite {
|
||||
super(siteManager, "html/application/sync.html");
|
||||
}
|
||||
|
||||
|
||||
async onConstruct(args) {
|
||||
let res = await super.onConstruct(args);
|
||||
await this.loadLevels();
|
||||
@@ -22,7 +21,6 @@ export class SynchronizeSite extends AbstractSite {
|
||||
}
|
||||
|
||||
async loadLevels() {
|
||||
|
||||
const dateLastSync = Helper.nonNull(localStorage.getItem("date-last-sync"), 0);
|
||||
const db = WordRotatorDb.getInstance();
|
||||
|
||||
@@ -53,6 +51,9 @@ export class SynchronizeSite extends AbstractSite {
|
||||
let levels = await Promise.all(levelPromises);
|
||||
await db.saveManyLevels(levels);
|
||||
|
||||
localStorage.setItem("date-last-sync", newLastSync);
|
||||
if (newLastSync != null && newLastSync !== "null")
|
||||
{
|
||||
localStorage.setItem("date-last-sync", newLastSync);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,8 @@ import {DelayPromise} from "../../../../../../js/lib/pwa-assets";
|
||||
export class ParentSegment extends Segment {
|
||||
static initListener(){
|
||||
window.addEventListener("mousedown", (e) => {
|
||||
ParentSegment.mouseDownTarget = e.originalTarget;
|
||||
ParentSegment.mouseDownTarget = e.target;
|
||||
// ParentSegment.mouseDownTarget = e.originalTarget;
|
||||
});
|
||||
window.addEventListener("mouseup", (e) => {
|
||||
ParentSegment.mouseDownTarget = null;
|
||||
@@ -38,7 +39,9 @@ export class ParentSegment extends Segment {
|
||||
}
|
||||
};
|
||||
this.mouseupListener = function(e){
|
||||
if (ParentSegment.mouseDownTarget !== null && self.element.contains(ParentSegment.mouseDownTarget) && self.element.contains(e.originalTarget))
|
||||
console.log("mouseup", e);
|
||||
// if (ParentSegment.mouseDownTarget !== null && self.element.contains(ParentSegment.mouseDownTarget) && self.element.contains(e.originalTarget))
|
||||
if (ParentSegment.mouseDownTarget !== null && self.element.contains(ParentSegment.mouseDownTarget) && self.element.contains(e.target))
|
||||
{
|
||||
self.rotate();
|
||||
e.stopPropagation();
|
||||
@@ -134,12 +137,19 @@ export class ParentSegment extends Segment {
|
||||
}
|
||||
|
||||
_updateElement() {
|
||||
|
||||
let layer = this._getLayer();
|
||||
if (layer >= 2)
|
||||
{
|
||||
this.element.classList.add("layer-"+layer);
|
||||
}
|
||||
|
||||
const childContainer = this.element.querySelector(".child-container");
|
||||
childContainer.removeAllChildren();
|
||||
|
||||
this._updateRotationClass();
|
||||
|
||||
const self = this;
|
||||
// const self = this;
|
||||
// this.element.onclick = function (e) {
|
||||
// self.rotate();
|
||||
// e.stopPropagation();
|
||||
@@ -159,5 +169,13 @@ export class ParentSegment extends Segment {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_getLayer(){
|
||||
if (this.children.length >= 1 && this.children[0] && this.children[0] instanceof ParentSegment)
|
||||
{
|
||||
return this.children[0]._getLayer()+1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
ParentSegment.initListener();
|
||||
@@ -28,7 +28,7 @@ $animationDuration: 0.25s;
|
||||
&.rotating {
|
||||
z-index: 10 !important;
|
||||
overflow: hidden;
|
||||
vertical-align:top;
|
||||
vertical-align: top;
|
||||
|
||||
@for $i from 1 through length($rotationDegrees) {
|
||||
&.rotate-#{nth($rotationDegrees, $i)} {
|
||||
@@ -98,7 +98,7 @@ $animationDuration: 0.25s;
|
||||
white-space: nowrap;
|
||||
transition: none;
|
||||
max-width: 100%;
|
||||
-webkit-tap-highlight-color: rgba(255,255,255,0);
|
||||
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
|
||||
//width: 100%;
|
||||
|
||||
* {
|
||||
@@ -149,13 +149,16 @@ $animationDuration: 0.25s;
|
||||
border: solid 1px #a9a9a9;
|
||||
border-radius: 3px;
|
||||
padding: 1px;
|
||||
&.layer-2 {
|
||||
border: solid 3px #000000;
|
||||
}
|
||||
}
|
||||
|
||||
&.segment-triangle {
|
||||
> .child-container {
|
||||
> .child-container {
|
||||
> .segment-parent {
|
||||
border: solid 3px #000000;
|
||||
position: relative;
|
||||
//border: solid 3px #000000;
|
||||
//position: relative;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user