From 630413e4cfdbfdefb9885b5122388c631198de93 Mon Sep 17 00:00:00 2001 From: Chris2011 Date: Sat, 25 Nov 2017 22:51:08 +0100 Subject: [PATCH 01/23] Changed author name. --- .../plugins/nbscratchfile/ui/app/model/LanguageType.ts | 3 +-- .../nbscratchfile/ui/e2e/pageobjects/HomePage.po.spec.ts | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/LanguageType.ts b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/LanguageType.ts index 5b76de3..0aebf10 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/LanguageType.ts +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/LanguageType.ts @@ -1,8 +1,7 @@ /** * - * @author Chrl + * @author Chris2011 */ - declare const NbScratchFileViewModel: any; export class LanguageType { diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/e2e/pageobjects/HomePage.po.spec.ts b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/e2e/pageobjects/HomePage.po.spec.ts index 380c7af..432be89 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/e2e/pageobjects/HomePage.po.spec.ts +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/e2e/pageobjects/HomePage.po.spec.ts @@ -2,7 +2,7 @@ import {browser, element, by, promise, WebElementPromise} from 'protractor'; /** * - * @author Chrl + * @author Chris2011 */ export class HomePagePO { private searchField = element(by.id('languageSearch')); From 0e60f78caeaad3f557bb074402cb844a77cb402a Mon Sep 17 00:00:00 2001 From: Chris2011 Date: Sat, 25 Nov 2017 22:51:30 +0100 Subject: [PATCH 02/23] Added utils for common use. --- .../utils/BaseWebViewDialogViewModel.java | 33 ++++ .../netbeans/plugins/utils/WebViewDialog.java | 160 ++++++++++++++++++ 2 files changed, 193 insertions(+) create mode 100644 src/main/resources/org/chrisle/netbeans/plugins/utils/BaseWebViewDialogViewModel.java create mode 100644 src/main/resources/org/chrisle/netbeans/plugins/utils/WebViewDialog.java diff --git a/src/main/resources/org/chrisle/netbeans/plugins/utils/BaseWebViewDialogViewModel.java b/src/main/resources/org/chrisle/netbeans/plugins/utils/BaseWebViewDialogViewModel.java new file mode 100644 index 0000000..cb8123d --- /dev/null +++ b/src/main/resources/org/chrisle/netbeans/plugins/utils/BaseWebViewDialogViewModel.java @@ -0,0 +1,33 @@ +/* + * Copyright 2017 Chris2011. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.chrisle.netbeans.plugins.utils; + +import java.awt.Color; +import javax.swing.UIManager; + +/** + * + * @author Chris2011 + */ +public class BaseWebViewDialogViewModel { + public String getColor(String colorString, Boolean brighter) { + return brighter ? getHex(UIManager.getColor(colorString).brighter()) : getHex(UIManager.getColor(colorString)); + } + + private String getHex(Color rgbColor) { + return String.format("#%s%s%s", Integer.toHexString(rgbColor.getRed()), Integer.toHexString(rgbColor.getGreen()), Integer.toHexString(rgbColor.getBlue())); + } +} \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/utils/WebViewDialog.java b/src/main/resources/org/chrisle/netbeans/plugins/utils/WebViewDialog.java new file mode 100644 index 0000000..e2d2ba6 --- /dev/null +++ b/src/main/resources/org/chrisle/netbeans/plugins/utils/WebViewDialog.java @@ -0,0 +1,160 @@ +/* + * Copyright 2017 Chris2011. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.chrisle.netbeans.plugins.utils; + +import java.awt.Component; +import java.awt.KeyboardFocusManager; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; +import java.awt.event.WindowEvent; +import java.awt.event.WindowFocusListener; +import javafx.application.Platform; +import javafx.beans.value.ObservableValue; +import javafx.concurrent.Worker; +import javafx.embed.swing.JFXPanel; +import javafx.scene.Scene; +import javafx.scene.web.WebEngine; +import javafx.scene.web.WebView; +import javax.swing.JComponent; +import javax.swing.JDialog; +import javax.swing.KeyStroke; +import netscape.javascript.JSObject; +import org.openide.util.Exceptions; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; +import org.w3c.dom.events.EventTarget; + +/** + * + * @author Chris2011 + */ +public class WebViewDialog extends JDialog { + private static final long serialVersionUID = 5885621373197292877L; + private final JFXPanel jfxPanel; + private WebView webView; + private WebEngine webEngine; + private BaseWebViewDialogViewModel viewModel; + private String viewModelName; + private String viewPath; + + public WebViewDialog() { + jfxPanel = new JFXPanel(); + } + + public void init() { + super.add(jfxPanel); + super.setSize(700, 450); + super.setResizable(false); + super.setAlwaysOnTop(true); + super.setUndecorated(true); + + super.addWindowFocusListener(new WindowFocusListener() { + @Override + public void windowGainedFocus(WindowEvent e) { + } + + @Override + public void windowLostFocus(WindowEvent e) { + WebViewDialog.this.setVisible(false); + } + }); + + super.getRootPane().registerKeyboardAction((ActionEvent e1) -> { + super.setVisible(false); + }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); + + Platform.runLater(() -> { + webView = new WebView(); + jfxPanel.setScene(new Scene(webView)); + webEngine = webView.getEngine(); + }); + } + + public void colorizeElement(Element sourceElem, String css) { + sourceElem.setAttribute("style", css); + } + + private void colorizeElements(NodeList sourceElements, String css) { + for (int i = 0; i < sourceElements.getLength(); i++) { + colorizeElement((Element) sourceElements.item(i), css); + } + } + + private void addHoverEffectToElement(Element sourceElem, String newCss, String oldCss) { + ((EventTarget) sourceElem).addEventListener("mouseover", (elem) -> { + sourceElem.setAttribute("style", newCss); + }, false); + + ((EventTarget) sourceElem).addEventListener("mouseout", (elem) -> { + sourceElem.setAttribute("style", oldCss); + }, false); + } + + public void addHoverEffectToElements(NodeList sourceElements, String newCss, String oldCss) { + for (int i = 0; i < sourceElements.getLength(); i++) { + addHoverEffectToElement((Element) sourceElements.item(i), newCss, oldCss); + } + } + + public void setViewModel(String viewModelName, BaseWebViewDialogViewModel viewModel) { + this.viewModelName = viewModelName; + this.viewModel = viewModel; + } + + public void initWebView(Runnable extraCallback) { + Platform.runLater(() -> { + webEngine.load(this.getClass().getResource(this.viewPath).toExternalForm()); + + try { + webEngine.getLoadWorker().stateProperty().addListener((ObservableValue ov, Worker.State oldState, Worker.State newState) -> { + if (newState == Worker.State.SUCCEEDED) { + JSObject win = (JSObject) webView.getEngine().executeScript("window"); + + win.setMember(this.viewModelName, this.viewModel); + + extraCallback.run(); + } + }); + } catch (Exception ex) { + Exceptions.printStackTrace(ex); + } + }); + } + + + public void showDialog() { + // try to use monitor, where the input focus is + // therefor get the topmost component based on the input focus + Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner(); + + if (null != focusOwner) { + while (focusOwner.getParent() != null) { + focusOwner = focusOwner.getParent(); + } + } + + super.setLocationRelativeTo(focusOwner); + super.setVisible(true); + } + + public void setViewPath(String viewPath) { + this.viewPath = viewPath; + } + + public WebEngine getWebEngine() { + return this.webEngine; + } +} From 8759051c4f3894928550f70eda923b5b01667acc Mon Sep 17 00:00:00 2001 From: Chris2011 Date: Sat, 25 Nov 2017 22:51:38 +0100 Subject: [PATCH 03/23] Refactored code. --- .../nbscratchfile/CreateScratchFile.java | 156 ++++-------------- .../nbscratchfile/NbScratchFileViewModel.java | 32 ++-- .../ScratchFileNodeChildFactory.java | 17 +- .../servicenode/ScratchRootNode.java | 19 +++ .../ScratchRootNodeChildFactory.java | 17 +- 5 files changed, 107 insertions(+), 134 deletions(-) diff --git a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/CreateScratchFile.java b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/CreateScratchFile.java index a049a79..e836ba0 100644 --- a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/CreateScratchFile.java +++ b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/CreateScratchFile.java @@ -1,33 +1,35 @@ +/* + * Copyright 2017 Chris2011. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.chrisle.netbeans.plugins.nbscratchfile; -import java.awt.Component; -import java.awt.KeyboardFocusManager; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.KeyEvent; -import java.awt.event.WindowEvent; -import java.awt.event.WindowFocusListener; -import javafx.application.Platform; -import javafx.beans.value.ObservableValue; -import javafx.concurrent.Worker.State; -import javafx.embed.swing.JFXPanel; -import javafx.scene.Scene; -import javafx.scene.web.WebEngine; -import javafx.scene.web.WebView; -import javax.swing.JComponent; -import javax.swing.JDialog; -import javax.swing.KeyStroke; -import netscape.javascript.JSObject; +import org.chrisle.netbeans.plugins.utils.BaseWebViewDialogViewModel; +import org.chrisle.netbeans.plugins.utils.WebViewDialog; import org.openide.awt.ActionID; import org.openide.awt.ActionReference; import org.openide.awt.ActionReferences; import org.openide.awt.ActionRegistration; -import org.openide.util.Exceptions; import org.openide.util.NbBundle.Messages; import org.w3c.dom.Element; -import org.w3c.dom.NodeList; -import org.w3c.dom.events.EventTarget; +/** + * + * @author Chris2011 + */ @ActionID( category = "Tools", id = "org.chrisle.netbeans.plugins.nbscratchfile.CreateScratchFile" @@ -43,116 +45,28 @@ }) @Messages("CTL_CreateScratchFile=New Scratch File...") public final class CreateScratchFile implements ActionListener { - private final JDialog dialog; - private final JFXPanel jfxPanel; - private WebView webView; - private WebEngine webEngine; - private final NbScratchFileViewModel viewModel; + + private final WebViewDialog dialog; + private final BaseWebViewDialogViewModel viewModel; public CreateScratchFile() { - dialog = new JDialog(); - jfxPanel = new JFXPanel(); + dialog = new WebViewDialog(); viewModel = new NbScratchFileViewModel(dialog); - initDialog(); - - Platform.runLater(() -> { - webView = new WebView(); - jfxPanel.setScene(new Scene(webView)); - webEngine = webView.getEngine(); - }); - } - - private void initDialog() { - dialog.add(jfxPanel); - dialog.setSize(700, 450); - dialog.setResizable(false); - dialog.setAlwaysOnTop(true); - dialog.setUndecorated(true); - dialog.addWindowFocusListener(new WindowFocusListener() { - @Override - public void windowGainedFocus(WindowEvent e) { - } - - @Override - public void windowLostFocus(WindowEvent e) { - dialog.setVisible(false); - } - }); - - dialog.getRootPane().registerKeyboardAction((ActionEvent e1) -> { - dialog.setVisible(false); - }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); - } - - private void colorizeElement(Element sourceElem, String css) { - sourceElem.setAttribute("style", css); - } - - private void colorizeElements(NodeList sourceElements, String css) { - for (int i = 0; i < sourceElements.getLength(); i++) { - colorizeElement((Element) sourceElements.item(i), css); - } - } - - private void addHoverEffectToElement(Element sourceElem, String newCss, String oldCss) { - ((EventTarget) sourceElem).addEventListener("mouseover", (elem) -> { - sourceElem.setAttribute("style", newCss); - }, false); - - ((EventTarget) sourceElem).addEventListener("mouseout", (elem) -> { - sourceElem.setAttribute("style", oldCss); - }, false); - } - - private void addHoverEffectToElements(NodeList sourceElements, String newCss, String oldCss) { - for (int i = 0; i < sourceElements.getLength(); i++) { - addHoverEffectToElement((Element) sourceElements.item(i), newCss, oldCss); - } + dialog.setViewModel("NbScratchFileViewModel", viewModel); + dialog.setViewPath("/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/index.html"); + dialog.init(); } @Override public void actionPerformed(ActionEvent e) { - showDialog(); - initWebView(); - } - - private void initWebView() { - Platform.runLater(() -> { - webEngine.load(this.getClass().getResource("/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/index.html").toExternalForm()); - - try { - webEngine.getLoadWorker().stateProperty().addListener((ObservableValue ov, State oldState, State newState) -> { - if (newState == State.SUCCEEDED) { - JSObject win = (JSObject) webView.getEngine().executeScript("window"); + dialog.showDialog(); + dialog.initWebView(() -> { + dialog.colorizeElement(dialog.getWebEngine().getDocument().getElementById("languageSearch"), String.format("background-color: %s; color: %s;", viewModel.getColor("TextField.background", false), viewModel.getColor("TextField.foreground", false))); + dialog.colorizeElement((Element) dialog.getWebEngine().getDocument().getElementsByTagName("body").item(0), String.format("background-color: %s;", viewModel.getColor("Menu.background", false))); + dialog.colorizeElement((Element) dialog.getWebEngine().getDocument().getElementsByTagName("ul").item(0), String.format("color: %s;", viewModel.getColor("Label.foreground", false))); - win.setMember("NbScratchFileViewModel", CreateScratchFile.this.viewModel); - - colorizeElement(webEngine.getDocument().getElementById("languageSearch"), String.format("background-color: %s; color: %s;", viewModel.getColor("TextField.background", false), viewModel.getColor("TextField.foreground", false))); - colorizeElement((Element) webEngine.getDocument().getElementsByTagName("body").item(0), String.format("background-color: %s;", viewModel.getColor("Menu.background", false))); - colorizeElement((Element) webEngine.getDocument().getElementsByTagName("ul").item(0), String.format("color: %s;", viewModel.getColor("Label.foreground", false))); - - addHoverEffectToElements(webEngine.getDocument().getElementsByTagName("li"), String.format("background-color: %s; color: %s;", viewModel.getColor("Menu.background", true), viewModel.getColor("Menu.foreground", true)), String.format("background-color: %s; color: %s;", viewModel.getColor("Menu.background", false), viewModel.getColor("Menu.foreground", false))); - } - }); - } catch (Exception ex) { - Exceptions.printStackTrace(ex); - } + dialog.addHoverEffectToElements(dialog.getWebEngine().getDocument().getElementsByTagName("li"), String.format("background-color: %s; color: %s;", viewModel.getColor("Menu.background", true), viewModel.getColor("Menu.foreground", true)), String.format("background-color: %s; color: %s;", viewModel.getColor("Menu.background", false), viewModel.getColor("Menu.foreground", false))); }); } - - public void showDialog() { - // try to use monitor, where the input focus is - // therefor get the topmost component based on the input focus - Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner(); - - if (null != focusOwner) { - while (focusOwner.getParent() != null) { - focusOwner = focusOwner.getParent(); - } - } - - dialog.setLocationRelativeTo(focusOwner); - dialog.setVisible(true); - } -} \ No newline at end of file +} diff --git a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/NbScratchFileViewModel.java b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/NbScratchFileViewModel.java index d7ec5e3..116b766 100644 --- a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/NbScratchFileViewModel.java +++ b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/NbScratchFileViewModel.java @@ -1,6 +1,20 @@ +/* + * Copyright 2017 Chris2011. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.chrisle.netbeans.plugins.nbscratchfile; -import java.awt.Color; import java.io.IOException; import java.nio.file.FileAlreadyExistsException; import java.nio.file.Files; @@ -8,14 +22,18 @@ import java.nio.file.Paths; import javax.swing.JDialog; import javax.swing.JOptionPane; -import javax.swing.UIManager; +import org.chrisle.netbeans.plugins.utils.BaseWebViewDialogViewModel; import org.netbeans.api.actions.Openable; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.loaders.DataObject; import org.openide.util.Exceptions; -public class NbScratchFileViewModel { +/** + * + * @author Chris2011 + */ +public class NbScratchFileViewModel extends BaseWebViewDialogViewModel { private int counter = 1; private final JDialog dialog; @@ -43,12 +61,4 @@ public void setExt(String ext, String languageName) { Exceptions.printStackTrace(ex); } } - - public String getColor(String colorString, Boolean brighter) { - return brighter ? getHex(UIManager.getColor(colorString).brighter()) : getHex(UIManager.getColor(colorString)); - } - - private String getHex(Color rgbColor) { - return String.format("#%s%s%s", Integer.toHexString(rgbColor.getRed()), Integer.toHexString(rgbColor.getGreen()), Integer.toHexString(rgbColor.getBlue())); - } } \ No newline at end of file diff --git a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchFileNodeChildFactory.java b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchFileNodeChildFactory.java index efd8be1..85a7f90 100644 --- a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchFileNodeChildFactory.java +++ b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchFileNodeChildFactory.java @@ -1,3 +1,18 @@ +/* + * Copyright 2017 Chris2011. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.chrisle.netbeans.plugins.nbscratchfile.servicenode; import java.io.File; @@ -14,7 +29,7 @@ /** * - * @author Chrl + * @author Chris2011 */ public class ScratchFileNodeChildFactory extends ChildFactory { private final File scratchDir; diff --git a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchRootNode.java b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchRootNode.java index e458e6f..aa39cb2 100644 --- a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchRootNode.java +++ b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchRootNode.java @@ -1,9 +1,28 @@ +/* + * Copyright 2017 Chris2011. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.chrisle.netbeans.plugins.nbscratchfile.servicenode; import org.netbeans.api.core.ide.ServicesTabNodeRegistration; import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; +/** + * + * @author Chris2011 + */ @ServicesTabNodeRegistration( name = "ScratchRootNode", displayName = "Scratches", diff --git a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchRootNodeChildFactory.java b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchRootNodeChildFactory.java index 3cdd2f9..5e0c6a0 100644 --- a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchRootNodeChildFactory.java +++ b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/servicenode/ScratchRootNodeChildFactory.java @@ -1,8 +1,23 @@ +/* + * Copyright 2017 Chris2011. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.chrisle.netbeans.plugins.nbscratchfile.servicenode; /** * - * @author Chris + * @author Chris2011 */ import java.io.File; import java.util.Arrays; From 07a7d9dcfd92347fe4095a46dcc40ac926d72e00 Mon Sep 17 00:00:00 2001 From: Chris2011 Date: Sat, 25 Nov 2017 22:52:21 +0100 Subject: [PATCH 04/23] Changed version. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 28b8955..72e81ad 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.chrisle.netbeans.plugins NbScratchFile - 1.7.2 + 1.7.3 nbm NbScratchFile <h1>Scratch Files for Netbeans (Required JDK 8 > 1.8.0_122 - <a href="https://github.com/Chris2011/NbScratchFile/issues/1#issuecomment-331884374">#1</a>)</h1> From 55b6e63bd6d8e17b2a25ea49891c0dbce5fa31e3 Mon Sep 17 00:00:00 2001 From: Chris2011 Date: Tue, 5 Dec 2017 17:35:16 +0100 Subject: [PATCH 05/23] Changed version. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 72e81ad..ee4da40 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.chrisle.netbeans.plugins NbScratchFile - 1.7.3 + 1.7.3-SNAPSHOT nbm NbScratchFile <h1>Scratch Files for Netbeans (Required JDK 8 > 1.8.0_122 - <a href="https://github.com/Chris2011/NbScratchFile/issues/1#issuecomment-331884374">#1</a>)</h1> From 5d89d2a7326697e3aa78febf014a1405582315f1 Mon Sep 17 00:00:00 2001 From: Chris2011 Date: Thu, 14 Dec 2017 18:08:19 +0100 Subject: [PATCH 06/23] Refactored code, not finished yet. --- pom.xml | 35 +++- .../nbscratchfile/CreateScratchFile.java | 161 ++++++++++-------- .../plugins/nbscratchfile/Installer.java | 13 ++ .../utils/BaseWebViewDialogViewModel.java | 0 .../netbeans/plugins/utils/WebViewDialog.java | 75 +------- src/main/nbm/manifest.mf | 3 +- .../plugins/nbscratchfile/ui/dist/app.js.map | 2 +- 7 files changed, 143 insertions(+), 146 deletions(-) create mode 100644 src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/Installer.java rename src/main/{resources => java}/org/chrisle/netbeans/plugins/utils/BaseWebViewDialogViewModel.java (100%) rename src/main/{resources => java}/org/chrisle/netbeans/plugins/utils/WebViewDialog.java (55%) diff --git a/pom.xml b/pom.xml index ee4da40..7d864fd 100644 --- a/pom.xml +++ b/pom.xml @@ -148,6 +148,19 @@ skip + + org.netbeans.html + html4j-maven-plugin + 1.5.1 + + + + process-js-annotations + + process-classes + + + @@ -211,11 +224,27 @@ RELEASE82 - com.github.eirslett - frontend-maven-plugin - 1.6 + org.netbeans.external + net-java-html-boot + RELEASE82 jar + + org.netbeans.api + org-netbeans-api-htmlui + RELEASE82 + jar + + + org.netbeans.api + org-openide-modules + RELEASE82 + + + org.netbeans.external + net-java-html + RELEASE82 + Chris2011 diff --git a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/CreateScratchFile.java b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/CreateScratchFile.java index e836ba0..fda4c42 100644 --- a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/CreateScratchFile.java +++ b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/CreateScratchFile.java @@ -1,72 +1,89 @@ -/* - * Copyright 2017 Chris2011. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.chrisle.netbeans.plugins.nbscratchfile; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import org.chrisle.netbeans.plugins.utils.BaseWebViewDialogViewModel; -import org.chrisle.netbeans.plugins.utils.WebViewDialog; -import org.openide.awt.ActionID; -import org.openide.awt.ActionReference; -import org.openide.awt.ActionReferences; -import org.openide.awt.ActionRegistration; -import org.openide.util.NbBundle.Messages; -import org.w3c.dom.Element; - -/** - * - * @author Chris2011 - */ -@ActionID( - category = "Tools", - id = "org.chrisle.netbeans.plugins.nbscratchfile.CreateScratchFile" -) -@ActionRegistration( - displayName = "#CTL_CreateScratchFile", - iconBase = "org/chrisle/netbeans/plugins/nbscratchfile/add_file.png" -) -@ActionReferences({ - @ActionReference(path = "Menu/File", position = 150) - , - @ActionReference(path = "Shortcuts", name = "DOS-N") -}) -@Messages("CTL_CreateScratchFile=New Scratch File...") -public final class CreateScratchFile implements ActionListener { - - private final WebViewDialog dialog; - private final BaseWebViewDialogViewModel viewModel; - - public CreateScratchFile() { - dialog = new WebViewDialog(); - viewModel = new NbScratchFileViewModel(dialog); - - dialog.setViewModel("NbScratchFileViewModel", viewModel); - dialog.setViewPath("/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/index.html"); - dialog.init(); - } - - @Override - public void actionPerformed(ActionEvent e) { - dialog.showDialog(); - dialog.initWebView(() -> { - dialog.colorizeElement(dialog.getWebEngine().getDocument().getElementById("languageSearch"), String.format("background-color: %s; color: %s;", viewModel.getColor("TextField.background", false), viewModel.getColor("TextField.foreground", false))); - dialog.colorizeElement((Element) dialog.getWebEngine().getDocument().getElementsByTagName("body").item(0), String.format("background-color: %s;", viewModel.getColor("Menu.background", false))); - dialog.colorizeElement((Element) dialog.getWebEngine().getDocument().getElementsByTagName("ul").item(0), String.format("color: %s;", viewModel.getColor("Label.foreground", false))); - - dialog.addHoverEffectToElements(dialog.getWebEngine().getDocument().getElementsByTagName("li"), String.format("background-color: %s; color: %s;", viewModel.getColor("Menu.background", true), viewModel.getColor("Menu.foreground", true)), String.format("background-color: %s; color: %s;", viewModel.getColor("Menu.background", false), viewModel.getColor("Menu.foreground", false))); - }); - } -} +/* + * Copyright 2017 Chris2011. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.chrisle.netbeans.plugins.nbscratchfile; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.JComponent; +import net.java.html.js.JavaScriptBody; +import org.chrisle.netbeans.plugins.utils.WebViewDialog; +import org.netbeans.api.htmlui.HTMLComponent; +import org.netbeans.api.htmlui.HTMLDialog; +import org.openide.awt.ActionID; +import org.openide.awt.ActionReference; +import org.openide.awt.ActionReferences; +import org.openide.awt.ActionRegistration; +import org.openide.util.NbBundle.Messages; + +/** + * + * @author Chris2011 + */ +@ActionID( + category = "Tools", + id = "org.chrisle.netbeans.plugins.nbscratchfile.CreateScratchFile" +) +@ActionRegistration( + displayName = "#CTL_CreateScratchFile", + iconBase = "org/chrisle/netbeans/plugins/nbscratchfile/add_file.png" +) +@ActionReferences({ + @ActionReference(path = "Menu/File", position = 150), + @ActionReference(path = "Shortcuts", name = "DOS-N") +}) +@Messages("CTL_CreateScratchFile=New Scratch File...") +public final class CreateScratchFile implements ActionListener { + private static final WebViewDialog dialog = new WebViewDialog(); + private static final String viewPath = "/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/index.html"; + private final NbScratchFileViewModel viewModel; + + public CreateScratchFile() { + viewModel = new NbScratchFileViewModel(dialog); + + dialog.init(Pages.initWebView(viewModel)); + } + + @HTMLComponent(url = CreateScratchFile.viewPath, type = JComponent.class) + static void initWebView(NbScratchFileViewModel viewModel) { + exposeModel("NbScratchFileViewModel", viewModel); + + dialog.colorizeElement("languageSearch", null, String.format("background-color: %s; color: %s;", viewModel.getColor("TextField.background", false), viewModel.getColor("TextField.foreground", false))); + dialog.colorizeElement(null, "body", String.format("background-color: %s;", viewModel.getColor("Menu.background", false))); + dialog.colorizeElement(null, "ul", String.format("color: %s;", viewModel.getColor("Label.foreground", false))); + +// dialog.addHoverEffectToElements(dialog.getWebEngine().getDocument().getElementsByTagName("li"), String.format("background-color: %s; color: %s;", viewModel.getColor("Menu.background", true), viewModel.getColor("Menu.foreground", true)), String.format("background-color: %s; color: %s;", viewModel.getColor("Menu.background", false), viewModel.getColor("Menu.foreground", false))); + } + + @HTMLDialog(url = CreateScratchFile.viewPath) + public static void workaroundNetBeansBug148() {} + + @JavaScriptBody(args = { "name", "value" }, javacall = true, body = "" + + "window[name] = {" + + "setExt : function(ext, languageName) {" + + " value.@org.chrisle.netbeans.plugins.nbscratchfile.NbScratchFileViewModel::setExt(Ljava/lang/String;Ljava/lang/String;)(ext, languageName);" + + "}," + + "getColor : function(colorString, brighter) {" + + " return value.@org.chrisle.netbeans.plugins.utils.BaseWebViewDialogViewModel::getColor(Ljava/lang/String;Ljava/lang/Boolean;)(colorString, brighter);" + + "}" + + "};" + ) + private static native void exposeModel(String name, NbScratchFileViewModel value); + + @Override + public void actionPerformed(ActionEvent e) { + dialog.showDialog(); + } +} \ No newline at end of file diff --git a/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/Installer.java b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/Installer.java new file mode 100644 index 0000000..9e369e8 --- /dev/null +++ b/src/main/java/org/chrisle/netbeans/plugins/nbscratchfile/Installer.java @@ -0,0 +1,13 @@ +package org.chrisle.netbeans.plugins.nbscratchfile; + +import javax.swing.JOptionPane; +import org.openide.modules.ModuleInstall; +import org.openide.windows.OnShowing; + +@OnShowing +public class Installer extends ModuleInstall implements Runnable { + @Override + public void run() { + JOptionPane.showMessageDialog(null, "Tesssssssss"); + } +} \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/utils/BaseWebViewDialogViewModel.java b/src/main/java/org/chrisle/netbeans/plugins/utils/BaseWebViewDialogViewModel.java similarity index 100% rename from src/main/resources/org/chrisle/netbeans/plugins/utils/BaseWebViewDialogViewModel.java rename to src/main/java/org/chrisle/netbeans/plugins/utils/BaseWebViewDialogViewModel.java diff --git a/src/main/resources/org/chrisle/netbeans/plugins/utils/WebViewDialog.java b/src/main/java/org/chrisle/netbeans/plugins/utils/WebViewDialog.java similarity index 55% rename from src/main/resources/org/chrisle/netbeans/plugins/utils/WebViewDialog.java rename to src/main/java/org/chrisle/netbeans/plugins/utils/WebViewDialog.java index e2d2ba6..7f86fa6 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/utils/WebViewDialog.java +++ b/src/main/java/org/chrisle/netbeans/plugins/utils/WebViewDialog.java @@ -21,18 +21,10 @@ import java.awt.event.KeyEvent; import java.awt.event.WindowEvent; import java.awt.event.WindowFocusListener; -import javafx.application.Platform; -import javafx.beans.value.ObservableValue; -import javafx.concurrent.Worker; -import javafx.embed.swing.JFXPanel; -import javafx.scene.Scene; -import javafx.scene.web.WebEngine; -import javafx.scene.web.WebView; import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.KeyStroke; -import netscape.javascript.JSObject; -import org.openide.util.Exceptions; +import net.java.html.js.JavaScriptBody; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.w3c.dom.events.EventTarget; @@ -43,18 +35,8 @@ */ public class WebViewDialog extends JDialog { private static final long serialVersionUID = 5885621373197292877L; - private final JFXPanel jfxPanel; - private WebView webView; - private WebEngine webEngine; - private BaseWebViewDialogViewModel viewModel; - private String viewModelName; - private String viewPath; - public WebViewDialog() { - jfxPanel = new JFXPanel(); - } - - public void init() { + public void init(JComponent jfxPanel) { super.add(jfxPanel); super.setSize(700, 450); super.setResizable(false); @@ -75,23 +57,12 @@ public void windowLostFocus(WindowEvent e) { super.getRootPane().registerKeyboardAction((ActionEvent e1) -> { super.setVisible(false); }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); - - Platform.runLater(() -> { - webView = new WebView(); - jfxPanel.setScene(new Scene(webView)); - webEngine = webView.getEngine(); - }); - } - - public void colorizeElement(Element sourceElem, String css) { - sourceElem.setAttribute("style", css); } - private void colorizeElements(NodeList sourceElements, String css) { - for (int i = 0; i < sourceElements.getLength(); i++) { - colorizeElement((Element) sourceElements.item(i), css); - } - } + @JavaScriptBody(args = { "id", "tag", "css" }, body = "" + + "var sourceElem = id ? document.getElementById(id) : document.getElementsByTagName(tag)[0];" + + "sourceElem.setAttribute('style', css);") + public native void colorizeElement(String id, String tag, String css); private void addHoverEffectToElement(Element sourceElem, String newCss, String oldCss) { ((EventTarget) sourceElem).addEventListener("mouseover", (elem) -> { @@ -109,32 +80,6 @@ public void addHoverEffectToElements(NodeList sourceElements, String newCss, Str } } - public void setViewModel(String viewModelName, BaseWebViewDialogViewModel viewModel) { - this.viewModelName = viewModelName; - this.viewModel = viewModel; - } - - public void initWebView(Runnable extraCallback) { - Platform.runLater(() -> { - webEngine.load(this.getClass().getResource(this.viewPath).toExternalForm()); - - try { - webEngine.getLoadWorker().stateProperty().addListener((ObservableValue ov, Worker.State oldState, Worker.State newState) -> { - if (newState == Worker.State.SUCCEEDED) { - JSObject win = (JSObject) webView.getEngine().executeScript("window"); - - win.setMember(this.viewModelName, this.viewModel); - - extraCallback.run(); - } - }); - } catch (Exception ex) { - Exceptions.printStackTrace(ex); - } - }); - } - - public void showDialog() { // try to use monitor, where the input focus is // therefor get the topmost component based on the input focus @@ -149,12 +94,4 @@ public void showDialog() { super.setLocationRelativeTo(focusOwner); super.setVisible(true); } - - public void setViewPath(String viewPath) { - this.viewPath = viewPath; - } - - public WebEngine getWebEngine() { - return this.webEngine; - } } diff --git a/src/main/nbm/manifest.mf b/src/main/nbm/manifest.mf index 165261c..46fccd9 100644 --- a/src/main/nbm/manifest.mf +++ b/src/main/nbm/manifest.mf @@ -1,3 +1,4 @@ Manifest-Version: 1.7.1 OpenIDE-Module-Display-Category: Tools -Built-By: Chris2011 \ No newline at end of file +Built-By: Chris2011 +OpenIDE-Module-Install: org/chrisle/netbeans/plugins/nbscratchfile/Installer.class diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/app.js.map b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/app.js.map index 4914d9a..b8f6c65 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/app.js.map +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/app.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app.js","webpack:///webpack/bootstrap e517a8d7fb22688e16a2","webpack:///./node_modules/knockout/build/output/knockout-latest.debug.js","webpack:///./app/main.ts","webpack:///./app/app.ts","webpack:///./app/model/FileType.ts","webpack:///./app/model/LanguageType.ts","webpack:///./app/model/LanguageTypesDOMModel.ts"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","undefined","window","this","eval","document","navigator","jQueryInstance","JSON","factory","apply","koExports","amdRequire","valuesArePrimitiveAndEqual","a","b","primitiveTypes","throttle","callback","timeout","timeoutInstance","ko","utils","setTimeout","debounce","clearTimeout","applyExtenders","requestedExtenders","target","objectForEach","key","value","extenderHandler","extenders","limitNotifySubscribers","event","defaultEvent","_limitBeforeChange","_origNotifySubscribers","_limitChange","computedDisposeDependencyCallback","id","entryToDispose","dispose","computedBeginDependencyDetectionCallback","subscribable","computedObservable","state","computedState","isDisposed","disposalCount","disposalCandidates","addDependencyTracking","dependencyTracking","isSleeping","_target","subscribeToDependency","_notificationIsPending","_notifyNextChangeIfValueIsDifferent","makeWithIfBinding","bindingKey","isWith","isNot","makeContextCallback","bindingHandlers","init","element","valueAccessor","allBindings","viewModel","bindingContext","didDisplayOnLastUpdate","savedNodes","computed","rawValue","dataValue","unwrapObservable","shouldDisplay","isFirstRender","computedContext","getDependenciesCount","cloneNodes","virtualElements","childNodes","setDomNodeChildren","applyBindingsToDescendants","emptyNode","disposeWhenNodeIsRemoved","controlsDescendantBindings","expressionRewriting","bindingRewriteValidators","allowedBindings","exportSymbol","koPath","tokens","split","length","exportProperty","owner","publicName","version","options","deferUpdates","useOnlyNativeEvents","obj","action","prop","extend","source","setPrototypeOf","proto","__proto__","isClickOnCheckableElement","eventType","tagNameLower","type","toLowerCase","inputType","toggleDomNodeCssClass","node","classNames","shouldHaveClass","addOrRemoveFn","classList","arrayForEach","match","cssClassNameRegex","className","toggleObjectClassPropertyString","currentClassNames","addOrRemoveItem","join","canSetPrototype","Array","knownEvents","knownEventTypesByEventName","test","userAgent","knownEventsForType","j","eventsThatMustBeRegisteredUsingAttachEvent","propertychange","ieVersion","div","createElement","iElems","getElementsByTagName","innerHTML","isIe6","isIe7","fieldsIncludedWithJsonPost","array","arrayIndexOf","item","indexOf","arrayFirst","predicate","predicateOwner","arrayRemoveItem","itemToRemove","index","splice","shift","arrayGetDistinctValues","result","push","arrayMap","mapping","arrayFilter","arrayPushAll","valuesToPush","included","existingEntryIndex","peekObservable","setPrototypeOfOrExtend","objectMap","emptyDomNode","domNode","firstChild","removeNode","moveCleanedNodesToContainerElement","nodes","nodesArray","makeArray","templateDocument","ownerDocument","container","appendChild","cleanNode","shouldCleanNodes","newNodesArray","clonedNode","cloneNode","replaceDomNodes","nodeToReplaceOrNodeArray","nodesToReplaceArray","nodeType","insertionPoint","parent","parentNode","insertBefore","fixUpContinuousNodeArray","continuousNodeArray","current","last","nextSibling","setOptionNodeSelectionState","optionNode","isSelected","setAttribute","selected","stringTrim","string","trim","toString","replace","stringStartsWith","startsWith","substring","domNodeIsContainedBy","containedByNode","contains","compareDocumentPosition","domNodeIsAttachedToDocument","documentElement","anyDomNodeIsAttachedToDocument","tagName","catchFunctionErrors","delegate","arguments","e","handler","deferError","error","registerEventHandler","wrappedHandler","mustUseAttachEvent","addEventListener","attachEvent","Error","attachEventHandler","attachEventName","domNodeDisposal","addDisposeCallback","detachEvent","triggerEvent","useClickWorkaround","createEvent","dispatchEvent","eventCategory","initEvent","click","fireEvent","isObservable","peek","setTextContent","textContent","innerTextNode","createTextNode","data","forceRefresh","setElementName","mergeAttributes","elem","style","zoom","ensureSelectElementIsRenderedCorrectly","selectElement","originalWidth","width","range","min","max","arrayLikeObject","createSymbolOrString","identifier","getFormFields","form","fieldName","fields","concat","isMatchingField","field","matches","parseJson","jsonString","parse","Function","stringifyJson","replacer","space","stringify","postJson","urlOrForm","params","includeFields","url","originalForm","display","method","input","body","submit","removeChild","originalFunction","partialArgs","slice","args","domData","getAll","createIfNotFound","dataStoreKey","dataStoreKeyExpandoPropertyName","dataStore","uniqueId","Date","getTime","allDataForNode","set","clear","nextKey","getDisposeCallbacksCollection","allDisposeCallbacks","domDataKey","destroyCallbacksCollection","cleanSingleNode","callbacks","cleanableNodeTypesWithDescendants","cleanImmediateCommentTypeChildren","nodeWithChildren","child","nextChild","cleanableNodeTypes","1","8","9","removeDisposeCallback","callbacksCollection","descendants","cleanExternalData","getWrap","tags","lookup","none","simpleHtmlParse","html","documentContext","windowContext","wrap","depth","markup","mayRequireCreateElementHack","lastChild","jQueryHtmlParse","elems","table","tbody","tr","select","thead","tfoot","td","th","option","optgroup","parseHtmlFragment","setHtml","parsedNodes","memoization","randomMax8HexChars","Math","random","generateRandomId","findMemoNodes","rootNode","appendToArray","memoId","parseMemoText","nodeValue","memos","memoize","unmemoize","callbackParams","unmemoizeDomNodeAndDescendants","extraCallbackParamsArray","combinedParams","memoText","tasks","processTasks","taskQueueLength","task","mark","countMarks","nextIndexToProcess","taskQueue","ex","scheduledProcess","scheduleTaskProcessing","scheduler","nextHandle","MutationObserver","observe","attributes","toggle","script","onreadystatechange","schedule","func","cancel","handle","resetForTesting","runEarly","writeTimeoutInstance","dependentObservable","read","write","rateLimit","limitFunction","_deferUpdates","limit","deferred","ignoreUpdates","notify","notifyWhen","boolean","number","subscription","disposeCallback","ko_subscribable_fn","instance","_subscriptions","change","_versionNumber","subscribe","callbackTarget","self","boundCallback","bind","afterSubscriptionRemove","beforeSubscriptionAdd","notifySubscribers","valueToNotify","updateVersion","hasSubscriptionsForEvent","subs","_changeSubscriptions","dependencyDetection","begin","end","getVersion","hasChanged","versionToCheck","ignoreBeforeChange","notifyNextChange","previousValue","pendingValue","selfIsObservable","finish","_evalIfChanged","shouldNotify","isDifferent","getSubscriptionsCount","total","eventName","subscriptions","oldValue","newValue","isSubscribable","getId","lastId","outerFrames","currentFrame","pop","registerDependency","_id","ignore","callbackArgs","isInitial","ignoreDependencies","observableLatestValue","observable","initialValue","valueWillMutate","valueHasMutated","observableFn","equalityComparer","protoProperty","hasPrototype","isWriteableObservable","observableArray","initialValues","trackArrayChanges","remove","valueOrPredicate","underlyingArray","removedValues","removeAll","arrayOfValues","allValues","destroy","destroyAll","oldItem","newItem","methodName","cacheDiffForKnownOperation","methodCallResult","arrayChangeEventName","trackChanges","trackingChanges","underlyingNotifySubscribersFunction","pendingNotifications","previousContents","cachedDiff","arrayChangeSubscription","currentContents","changes","getChanges","compareArrays","compareArrayOptions","underlyingBeforeSubscriptionAddFunction","underlyingAfterSubscriptionRemoveFunction","rawArray","operationName","pushDiff","status","diff","arrayLength","argsLength","offset","startIndex","endDeleteIndex","endAddIndex","endIndex","additions","deletions","argsIndex","findMovesInArrayComparison","evaluatorFunctionOrOptions","evaluatorFunctionTarget","writeFunction","isDirty","haveDependenciesChanged","evaluateImmediate","latestValue","isStale","isBeingEvaluated","suppressDisposalUntilDisposeWhenReturnsFalse","pure","readFunction","disposeWhen","domNodeDisposalCallback","dependenciesCount","evaluationTimeoutInstance","hasWriteFunction","computedFn","pureComputedOverrides","deferEvaluationOverrides","isActive","trackingObj","_order","_version","dependency","_evalDelayed","markDirty","respondToChange","evaluatePossiblyAsync","dirtySub","changeSub","throttleEvaluationTimeout","notifyChange","changed","evaluateImmediate_CallReadWithDependencyDetection","dependencyDetectionContext","evaluateImmediate_CallReadThenEndDependencyDetection","_latestValue","evaluate","isChange","dependeciesOrder","order","protoProp","isComputed","isPureComputed","pureComputed","mapJsObjectGraph","rootObject","mapInputCallback","visitedObjects","objectLookup","RegExp","String","Number","Boolean","outputProperties","save","visitPropertiesOrArrayEntries","indexer","propertyValue","previouslyMappedValue","visitorCallback","propertyName","keys","values","toJS","valueToMap","toJSON","plainJavaScriptObject","constructor","existingIndex","selectExtensions","readValue","optionValueDomDataKey","getAttributeNode","specified","text","selectedIndex","writeValue","allowUnset","optionValue","selection","size","getWriteableValue","expression","javaScriptReservedWords","javaScriptAssignmentTarget","parseObjectLiteral","objectLiteralString","str","charCodeAt","toks","bindingToken","tok","unknown","divisionLookBehind","keywordRegexLookBehind","substr","preProcessBindings","bindingsStringOrKeyValueArray","bindingOptions","processKeyValue","val","writableVal","bindingParams","twoWayBindings","propertyAccessorResultStrings","makeValueAccessors","resultStrings","keyValueArray","keyValue","stringDouble","in","return","typeof","keyValueArrayContainsKey","writeValueToProperty","checkIfDifferent","propWriters","isStartComment","startCommentRegex","commentNodesHaveTextProperty","isEndComment","endCommentRegex","getVirtualChildren","startComment","allowUnbalanced","currentNode","children","getMatchingEndComment","allVirtualChildren","getUnbalancedChildTags","childNode","captureRemaining","matchingEndComment","createComment","htmlTagsWithOptionallyClosingChildren","ul","ol","virtualChildren","endCommentNode","prepend","containerNode","nodeToPrepend","insertAfter","nodeToInsert","insertAfterNode","hasBindingValue","virtualNodeBindingValue","regexMatch","normaliseVirtualElementDomStructure","elementVerified","unbalancedTags","nodeToInsertBefore","createBindingsStringEvaluatorViaCache","bindingsString","cache","cacheKey","createBindingsStringEvaluator","rewrittenBindings","functionBody","bindingProvider","bindingCache","nodeHasBindings","getAttribute","components","getBindings","parsedBindings","addBindingsForCustomElement","getBindingAccessors","valueAccessors","getBindingsString","parseBindingsString","message","makeValueAccessor","evaluateValueAccessor","makeAccessorsFromFunction","makeBindingAccessors","bindings","context","getBindingsAndMakeAccessors","validateThatBindingIsAllowedForVirtualElements","bindingName","applyBindingsToDescendantsInternal","elementOrVirtualElement","bindingContextsMayDifferFromDomParentElement","currentChild","nextInQueue","provider","preprocessNode","applyBindingsToNodeAndDescendantsInternal","nodeVerified","bindingContextMayDifferFromDomParentElement","shouldBindDescendants","isElement","applyBindingsToNodeInternal","bindingDoesNotRecurseIntoElementTypes","topologicalSortBindings","bindingsConsidered","cyclicDependencyStack","pushBinding","binding","bindingDependencyKey","sourceBindings","bindingsUpdater","alreadyBound","boundElementDomDataKey","storedBindingContextForNode","_subscribable","bindingHandlerThatControlsDescendantBindings","getValueAccessor","orderedBindings","bindingKeyAndHandler","handlerInitFn","handlerUpdateFn","initResult","getBindingContext","viewModelOrBindingContext","textarea","template","dataItemOrAccessor","parentContext","dataItemAlias","extendCallback","updateContext","dataItemOrObservable","isFunc","dataItem","_addNode","unshift","properties","createStaticChildContext","exportDependencies","storedBindingContextDomDataKey","applyBindingAccessorsToNode","applyBindingsToNode","applyBindings","contextFor","dataFor","getObjectOwnProperty","propName","loadComponentAndNotify","componentName","completedAsync","loadingSubscribablesCache","beginLoadingComponent","definition","config","isSynchronousComponent","loadedDefinitionsCache","getFirstResultFromLoaders","argsExceptCallback","candidateLoaders","currentCandidateLoader","methodInstance","wasAborted","cachedDefinition","clearCachedDefinition","_getFirstResultFromLoaders","resolveConfig","errorCallback","makeCallBackWhenZero","tryIssueCallback","templateConfig","viewModelConfig","possiblyGetConfigFromAmd","loadedConfig","resolvedTemplate","resolvedViewModel","createViewModelKey","resolveTemplate","isDocumentFragment","isDomElement","cloneNodesFromTemplateSourceElement","elemInstance","getElementById","resolveViewModel","fixedInstance","componentInfo","content","HTMLElement","DocumentFragment","makeErrorCallback","defaultConfigRegistry","register","isRegistered","unregister","defaultLoader","getConfig","loadComponent","loadTemplate","loadViewModel","_allRegisteredComponents","getComponentParamsFromCustomElement","paramsAttribute","nativeBindingProviderInstance","rawParamComputedValues","paramValue","paramName","paramValueComputed","$raw","componentBindingValue","createDocumentFragment","newDocFrag","allComponents","cloneTemplateIntoElement","componentDefinition","clonedNodesArray","createViewModel","originalChildNodes","componentParams","componentViewModelFactory","templateNodes","componentLoadingOperationUniqueId","ignored1","ignored2","currentViewModel","currentLoadingOperationId","disposeAssociatedComponentViewModel","currentViewModelDispose","loadingOperationId","componentViewModel","childBindingContext","ctx","attrHtmlToJavascriptMap","class","for","update","attrName","attrValue","toRemove","removeAttribute","after","updateModel","isChecked","checked","elemValue","useCheckedValue","checkedValue","isRadio","modelValue","valueIsArray","writableValue","rawValueIsNonArrayObservable","oldElemValue","updateView","isCheckbox","disabled","eventsToHandle","handlerReturnValue","handlerFunction","argsForHandler","preventDefault","returnValue","cancelBubble","stopPropagation","makeTemplateValueAccessor","unwrappedValue","foreach","as","includeDestroyed","afterAdd","beforeRemove","afterRender","beforeMove","afterMove","templateEngine","nativeTemplateEngine","handleElementFocusChange","isFocused","ownerDoc","active","activeElement","handleElementFocusIn","handleElementFocusOut","focus","blur","captionPlaceholder","selectedOptions","applyToObject","defaultValue","predicateType","optionForArrayItem","arrayEntry","oldOptions","previousSelectedValues","valueAllowUnset","itemUpdate","optionText","setSelectionCallback","newOptions","captionValue","filteredArray","selectWasPreviouslyEmpty","multiple","previousScrollTop","scrollTop","unwrappedArray","arrayToDomNodeChildrenOptions","setDomNodeChildrenFromArrayMapping","selectionChanged","abs","valueToWrite","styleName","styleValue","parseVersion","parseFloat","operaVersion","opera","parseInt","safariVersion","firefoxVersion","selectionChangeRegisteredName","selectionChangeHandlerName","selectionChangeHandler","registerForSelectionChangeEvent","timeoutHandle","elementValueBeforeEvent","previousElementValue","elementValue","deferUpdateModel","ieUpdateModel","onEvent","preprocess","addBinding","currentIndex","eventsToCatch","requestedEventsToCatch","propertyChangedFired","valueUpdateHandler","autocomplete","updateFromModel","applyValueAction","isCurrentlyVisible","newValueAccessor","templateSource","templateSources","domElement","anonymousTemplate","rewriterCallback","rewritten","templateRewriting","validateDataBindValuesForRewriting","allValidators","validator","possibleErrorMessage","constructMemoizedTagReplacement","dataBindAttributeValue","tagToRetain","nodeName","dataBindKeyValueArray","rewrittenDataBindAttributeValue","applyBindingsToNextSiblingScript","memoizeDataBindingAttributeSyntaxRegex","memoizeVirtualContainerBindingSyntaxRegex","ensureTemplateIsRewritten","htmlString","memoizeBindingAttributeSyntax","applyMemoizedBindingsToNextSibling","nodeToBind","getTemplateDomData","templatesDomDataKey","setTemplateDomData","templateType","elemContentsProperty","dataDomDataPrefix","containerData","templateData","textData","invokeForEachNodeInContinuousRange","firstNode","lastNode","firstOutOfRangeNode","activateBindingsOnContinuousNodeArray","nextNodeInRange","nodePreviousSibling","previousSibling","newNodes","getFirstNodeFromPossibleArray","nodeOrNodeArray","executeTemplate","targetNodeOrNodeArray","renderMode","firstTargetNode","templateEngineToUse","_templateEngine","renderedNodesArray","haveAddedNodesToParent","resolveTemplateName","disposeOldComputedAndStoreNewOne","newComputed","oldComputed","templateComputedDomDataKey","setTemplateEngine","renderTemplate","dataOrBindingContext","whenToDispose","activelyDisposeWhenNodeIsRemoved","templateName","renderTemplateForEach","arrayOrObservableArray","targetNode","parentBindingContext","arrayItemContext","executeTemplateForArrayItem","arrayValue","activateBindingsCallback","addedNodesArray","bindingValue","templateComputed","dataArray","innerBindingContext","parsedBindingValue","left","right","limitFailedCompares","failedCompares","r","leftItem","rightItem","oldArray","newArray","dontLimitMoves","compareSmallArrayToBigArray","statusNotInOld","statusNotInNew","smlArray","bigArray","statusNotInSml","statusNotInBig","smlIndex","bigIndex","thisRow","lastRow","bigIndexMaxForRow","bigIndexMinForRow","myMin","myMax","editDistanceMatrix","smlIndexMax","bigIndexMax","compareRange","maxDistance","northDistance","westDistance","meMinusOne","editScript","notInSml","notInBig","reverse","mapNodeAndRefreshWhenChanged","callbackAfterAddingNodes","mappedNodes","newMappedNodes","lastMappingResultDomDataKey","deletedItemDummyValue","itemMovedOrRetained","editScriptIndex","oldPosition","mapData","lastMappingResult","newMappingResultIndex","itemsForMoveCallbacks","indexObservable","newMappingResult","itemsToProcess","callCallback","items","editScriptItem","movedIndex","isFirstExecution","lastArray","x","lastMappingResultIndex","nodesToDelete","itemsForBeforeRemoveCallbacks","itemsForAfterAddCallbacks","nextNode","initialized","useNodesIfAvailable","templateNodesFunc","templateText","jqueryTmplTemplateEngine","ensureHasReferencedJQueryTemplates","jQueryTmplVersion","compiledTemplate","jQueryTemplateOptions","precompiled","koBindingContext","resultNodes","templateMarkup","open","close","jqueryTmplTemplateEngineInstance","App","main","_classCallCheck","Constructor","TypeError","_createClass","defineProperties","props","descriptor","writable","protoProps","staticProps","FileType_1","LanguageType_1","LanguageTypesDOMModel_1","fileTypeWindowViewModel","FileType","LanguageType","languageTypesListModel","LanguageTypesDOMModel","_this","Language","handleItemSelectionWithArrowKeys","selectFirstElem","languageTypes","language","searchTerm","languageType","LanguageName","sort","elem1","elem2","menuBgColor","textFieldBgColor","textFieldFgColor","NbScratchFileViewModel","getColor","languageName","fileExt","isPluginRequired","icon","setExt","FileExt","KeyCode","languageTypeList","firstListElem","lastListElem","selectedElem","inputField","findIndex","languageTypeListItems","querySelector","querySelectorAll","forEach","console","log","PreviousElement","offsetTop","getIndexOfElem","offsetHeight","LastListElem","NextElement","FirstListElem","_this2","SelectedElem","keyCode","Up","moveUp","Down","moveDown","Enter","getDataFromSelectedElem","_this3","add","previousElementSibling","nextElementSibling"],"mappings":"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","file":"app.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/generated/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * Knockout JavaScript library v3.4.2\n * (c) The Knockout.js team - http://knockoutjs.com/\n * License: MIT (http://www.opensource.org/licenses/mit-license.php)\n */\n\n(function(){\nvar DEBUG=true;\n(function(undefined){\n // (0, eval)('this') is a robust way of getting a reference to the global object\n // For details, see http://stackoverflow.com/questions/14119988/return-this-0-evalthis/14120023#14120023\n var window = this || (0, eval)('this'),\n document = window['document'],\n navigator = window['navigator'],\n jQueryInstance = window[\"jQuery\"],\n JSON = window[\"JSON\"];\n(function(factory) {\n // Support three module loading scenarios\n if (true) {\n // [1] AMD anonymous module\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports === 'object' && typeof module === 'object') {\n // [2] CommonJS/Node.js\n factory(module['exports'] || exports); // module.exports is for Node.js\n } else {\n // [3] No module loader (plain \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/app.ts b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/app.ts deleted file mode 100644 index 87d70ec..0000000 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/app.ts +++ /dev/null @@ -1,83 +0,0 @@ -import * as ko from 'knockout'; -import {FileType} from "./model/FileType"; -import {LanguageType} from "./model/LanguageType"; -import {LanguageTypesDOMModel} from "./model/LanguageTypesDOMModel"; - -export class App { - private fileTypeWindowViewModel: FileType; - private languageTypesListModel: LanguageTypesDOMModel; - - constructor() { - this.fileTypeWindowViewModel = new FileType([ - new LanguageType('ANTLRv3', 'g', true), - new LanguageType('ANTLRv4', 'g4', true), - new LanguageType('Assembler', 'asm', false), - new LanguageType('Batch', 'bat', false), - new LanguageType('C', 'c', false), - new LanguageType('C#', 'cs', true), - new LanguageType('C++', 'cpp', false), - new LanguageType('CSS', 'css', false), - new LanguageType('Clojure', 'clj', true), - new LanguageType('CoffeeScript', 'coffee', true), - new LanguageType('Dockerfile', '', false), - new LanguageType('Freemarker', 'ftl', true), - new LanguageType('Galen', 'gspec', true), - new LanguageType('GLSL', 'glsl', true), - new LanguageType('Go', 'go', true), - new LanguageType('Groovy', 'groovy', true), - new LanguageType('HAML', 'haml', true), - new LanguageType('Handlebars', 'hbs', true), - new LanguageType('HTML', 'html', false), - new LanguageType('Ini', 'ini', false), - new LanguageType('Jade/Pug', 'pug', false), - new LanguageType('Java', 'java', false), - new LanguageType('JavaScript', 'js', false), - new LanguageType('JavaScript React', 'jsx', false), - new LanguageType('JSP', 'jsp', false), - new LanguageType('JSON', 'json', false), - new LanguageType('Kotlin', 'kt', true), - new LanguageType('Less', 'less', false), - new LanguageType('LISP', 'lisp', true), - new LanguageType('Lua', 'lua', true), - new LanguageType('Makefile', '', false), - new LanguageType('Markdown', 'md', true), - new LanguageType('Perl', 'pl', true), - new LanguageType('PHP', 'php', false), - new LanguageType('Plain Text', 'txt', false), - new LanguageType('PLSQL', 'plsql', true), - new LanguageType('Puppet', 'pp', true), - new LanguageType('Python', 'py', true), - new LanguageType('R', 'r', true), - new LanguageType('Ruby', 'rb', true), - new LanguageType('Rust', 'rs', true), - new LanguageType('Sass', 'sass', false), - new LanguageType('Scala', 'scala', true), - new LanguageType('Scss', 'scss', false), - new LanguageType('Smarty', 'tpl', false), - new LanguageType('SQL', 'sql', false), - new LanguageType('Shell Script', 'sh', true), - new LanguageType('Tex', 'tex', true), - new LanguageType('Twig', 'twig', false), - new LanguageType('TypeScript', 'ts', true), - new LanguageType('TypeScript React', 'tsx', true), - new LanguageType('Vue', 'vue', true), - new LanguageType('XML', 'xml', false), - new LanguageType('XSL', 'xsl', false), - new LanguageType('YAML', 'yaml', false) - ]); - - this.languageTypesListModel = new LanguageTypesDOMModel(); - } - - public main(): void { - this.fileTypeWindowViewModel.Language.subscribe(() => { - this.languageTypesListModel.init(); - }); - - ko.applyBindings(this.fileTypeWindowViewModel); - - this.languageTypesListModel.init(); - this.languageTypesListModel.handleItemSelectionWithArrowKeys(); - this.languageTypesListModel.selectFirstElem(); - } -} \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/LanguageSearchFieldComponent.vue b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/LanguageSearchFieldComponent.vue new file mode 100644 index 0000000..c1027e6 --- /dev/null +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/LanguageSearchFieldComponent.vue @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/LanguageTypeListComponent.vue b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/LanguageTypeListComponent.vue new file mode 100644 index 0000000..dff8ff2 --- /dev/null +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/LanguageTypeListComponent.vue @@ -0,0 +1,90 @@ + + + + + \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/LanguageType.ts b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/model/LanguageType.ts similarity index 73% rename from src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/LanguageType.ts rename to src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/model/LanguageType.ts index 0aebf10..df07867 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/LanguageType.ts +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/model/LanguageType.ts @@ -1,16 +1,14 @@ /** * - * @author Chris2011 + * @author Chrl */ -declare const NbScratchFileViewModel: any; - export class LanguageType { private icon: string; private languageName: string; private fileExt: string; private isPluginRequired: boolean; - constructor(languageName: string, fileExt: string, isPluginRequired: boolean) { + constructor(languageName: string, fileExt: string, isPluginRequired: boolean = false) { this.icon = fileExt || languageName; this.languageName = languageName; this.fileExt = fileExt || languageName; @@ -33,11 +31,11 @@ export class LanguageType { return this.fileExt.toLowerCase(); } - public setExt(languageType: LanguageType): void { - NbScratchFileViewModel.setExt(languageType.FileExt, languageType.LanguageName); + public get IsPluginRequired(): boolean { + return this.isPluginRequired; } - public showPluginRequiredMessage(): string { - return this.isPluginRequired ? ' - plugin is required' : ''; + public setExt(languageType: LanguageType): void { + console.log(`Chosen extension - ${languageType.FileExt}`); } } \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/LanguageTypesDOMModel.ts b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/model/LanguageTypesDOMModel.ts similarity index 80% rename from src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/LanguageTypesDOMModel.ts rename to src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/model/LanguageTypesDOMModel.ts index ec0a74f..7a9b72a 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/LanguageTypesDOMModel.ts +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/components/model/LanguageTypesDOMModel.ts @@ -4,15 +4,12 @@ enum KeyCode { Down = 40 } -declare const NbScratchFileViewModel: any; - export class LanguageTypesDOMModel { private languageTypeList: HTMLUListElement = null; private languageTypeListItems: NodeListOf; private firstListElem: HTMLLIElement = null; private lastListElem: HTMLLIElement = null; private selectedElem: HTMLLIElement = null; - // private textOfSelectedLiElem: Node = null; private inputField: HTMLInputElement = null; private getIndexOfElem(selectedElem: HTMLLIElement): number { @@ -85,7 +82,6 @@ export class LanguageTypesDOMModel { this.selectedElem.classList.remove('selected'); this.selectedElem = this.lastListElem; - // this.textOfSelectedLiElem = this.selectedElem.lastChild; this.selectedElem.classList.toggle('selected'); this.languageTypeList.scrollTop = 800; @@ -97,13 +93,11 @@ export class LanguageTypesDOMModel { this.selectedElem.classList.remove('selected'); this.selectedElem = this.PreviousElement; - // this.textOfSelectedLiElem = this.selectedElem.lastChild; this.selectedElem.classList.toggle('selected'); } } else { this.selectedElem = this.LastListElem; - // this.textOfSelectedLiElem = this.selectedElem.lastChild; this.selectedElem.classList.toggle('selected'); this.languageTypeList.scrollTop = 800; @@ -120,7 +114,6 @@ export class LanguageTypesDOMModel { this.selectedElem.classList.remove('selected'); this.selectedElem = this.FirstListElem; - // this.textOfSelectedLiElem = this.selectedElem.lastChild; this.selectedElem.classList.toggle('selected'); this.languageTypeList.scrollTop = 0; @@ -128,40 +121,34 @@ export class LanguageTypesDOMModel { this.selectedElem.classList.remove('selected'); this.selectedElem = this.NextElement; - // this.textOfSelectedLiElem = this.selectedElem.lastChild; this.selectedElem.classList.toggle('selected'); } } else { this.selectedElem = this.FirstListElem; - // this.textOfSelectedLiElem = this.selectedElem.lastChild; this.selectedElem.classList.toggle('selected'); } } public handleItemSelectionWithArrowKeys(): void { - document.querySelector('body').addEventListener('keydown', (e: KeyboardEvent) => { + document.querySelector('body').addEventListener('keydown', (evt: KeyboardEvent) => { this.SelectedElem = document.querySelector('.selected') as HTMLLIElement; - if(e.keyCode === KeyCode.Up) { - e.preventDefault(); + if(evt.keyCode === KeyCode.Up) { + evt.preventDefault(); this.moveUp(); - } else if(e.keyCode === KeyCode.Down) { - e.preventDefault(); + } else if(evt.keyCode === KeyCode.Down) { + evt.preventDefault(); this.moveDown(); } - - if(e.keyCode === KeyCode.Enter) { - this.getDataFromSelectedElem(e); - } }); } public selectFirstElem(): void { - this.inputField.addEventListener('keyup', (e: KeyboardEvent) => { + this.inputField.addEventListener('keyup', e => { if(e.keyCode !== KeyCode.Down && e.keyCode !== KeyCode.Up) { this.selectedElem = document.querySelector('.selected') as HTMLLIElement; @@ -174,15 +161,7 @@ export class LanguageTypesDOMModel { } else { this.firstListElem && this.firstListElem.classList.remove('selected'); } - } }); } - - public getDataFromSelectedElem(e: KeyboardEvent): void { - if(this.selectedElem) { - this.inputField.value = ''; - NbScratchFileViewModel.setExt(this.selectedElem.querySelector('.ext').textContent.replace('(', '').replace(')', ''), this.selectedElem.querySelector('.name').textContent); - } - } } \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/icons/g.svg b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/icons/g.svg deleted file mode 100644 index 26347b6..0000000 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/icons/g.svg +++ /dev/null @@ -1 +0,0 @@ -file_type_antlr \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/icons/g4.svg b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/icons/g4.svg deleted file mode 100644 index 26347b6..0000000 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/icons/g4.svg +++ /dev/null @@ -1 +0,0 @@ -file_type_antlr \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/icons/gspec.svg b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/icons/gspec.svg deleted file mode 100644 index 5bc5e7e..0000000 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/icons/gspec.svg +++ /dev/null @@ -1 +0,0 @@ -file_type_galen2 \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/index.html b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/index.html index 15c7a31..fe49767 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/index.html +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/index.html @@ -2,26 +2,13 @@ - Knockout TypeScript Live Search Sample + Vue TypeScript Live Search Sample - - - + -
- -
- -
    -
  • -
    - -
    -
    -
  • -
+
diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/main.scss b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/main.scss index 587bfb5..9738be2 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/main.scss +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/main.scss @@ -1,76 +1,7 @@ -$body-border-width: 1px; -$input-height: 32px; -$body-height: 448px; -$wrapper-padding: 10px; -$list-height: $body-height - (2 * $body-border-width) - $input-height - (2 * $wrapper-padding); - body { - max-height: $body-height; margin: 0; - border: $body-border-width solid rgba(0, 0, 0, .5); + border: 1px solid rgba(0, 0, 0, .5); font-family: Arial; +} - .wrapper { - padding: $wrapper-padding; - - input { - padding-left: 8px; - border: 1px solid #c8ccd0; - border-radius: 2px; - box-sizing: border-box; - box-shadow: inset 0 0 1px rgba(145, 153, 161, 0.2), 0 0 0 rgba(255, 255, 255, 0); - width: 100%; - font-size: 16px; - outline: none; - height: $input-height; - } - } - - ul { - list-style: none; - margin: 0; - padding: 0; - overflow-y: scroll; - height: auto; - max-height: $list-height; - - li { - padding: .25em 0 0 .75em; - transition: background-color 100ms ease, color 100ms ease; - display: flex; - align-items: center; - - div, label { - display: inline-block; - vertical-align: middle; - } - - .icon { - width: 16px; - height: 16px; - margin-right: .5em; - } - - .small-text { - color: gray; - font-size: 80%; - margin-left: .3em; - } - - &:hover { - background-color: #e0e0e0; - color: darkslategray; - cursor: pointer; - } - - &.selected { - background-color: #2665e5; - color: #fff; - - .small-text { - color: #ccc; - } - } - } - } -} \ No newline at end of file +@import '../.tmp/sprite.css'; \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/main.ts b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/main.ts index c2c8476..d4dea3f 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/main.ts +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/main.ts @@ -1,12 +1,14 @@ -import {App} from "./app"; -import {} from './main.scss'; +import Vue from 'vue'; +import './main.scss'; -//import {WebpackRequire} from 'webpack-env'; -// -//declare var require: WebpackRequire; -// -//var files = require.context('./icons', false, /\.svg$/); -//files.keys().forEach(files); +import App from './App.vue'; -const starter: App = new App(); -starter.main(); \ No newline at end of file +new Vue({ + el: '#app', + render(h) { + return h('App'); + }, + components: { + App + } +}); \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/FileType.ts b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/FileType.ts deleted file mode 100644 index fe900e6..0000000 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/model/FileType.ts +++ /dev/null @@ -1,87 +0,0 @@ -import * as ko from 'knockout'; -import {LanguageType} from "./LanguageType"; - -/** - * - * @author Chris - */ -declare const NbScratchFileViewModel: any; - -export class FileType { - private language: KnockoutObservable; - private languageTypes: KnockoutComputed>; - - private menuBgColor: KnockoutObservable; - private textFieldBgColor: KnockoutObservable; - private textFieldFgColor: KnockoutObservable; - - constructor(languageTypes: Array) { - this.language = ko.observable(''); - this.languageTypes = ko.computed(() => { - var searchTerm = this.language().toLowerCase(); - - return ko.utils.arrayFilter(languageTypes, (languageType: LanguageType) => { - return languageType.LanguageName.toLowerCase().indexOf(searchTerm) >= 0; - }).sort((elem1: LanguageType, elem2: LanguageType) => { - if(elem1.LanguageName > elem2.LanguageName) { - return 1; - } else if(elem1.LanguageName < elem2.LanguageName) { - return -1 - } - - return 0; - }); - // }).filter((languageType: LanguageType) => { - // languageType.LanguageName = this.manipulateString(languageType.LanguageName, searchTerm); - // - // return languageType; - // }); - }, this); - - this.menuBgColor = ko.observable(''); - this.textFieldBgColor = ko.observable(''); - this.textFieldFgColor = ko.observable(''); - } - - // private manipulateString(languageName: string, term: string): string { - // return term ? languageName.replace(term, `${term}`) : languageName - // } - - public get Language(): KnockoutObservable { - return this.language; - } - - public get MenuBgColor(): KnockoutObservable { - let self = this; - - setTimeout(() => { - self.menuBgColor(NbScratchFileViewModel.getColor('Menu.background')); - }, 200); - - return self.menuBgColor; - } - - public get TextFieldBgColor(): KnockoutObservable { - let self = this; - - setTimeout(() => { - self.textFieldBgColor(NbScratchFileViewModel.getColor('TextField.background')); - }, 200); - - return self.textFieldBgColor; - } - - public get TextFieldFgColor(): KnockoutObservable { - let self = this; - - setTimeout(() => { - self.textFieldFgColor(NbScratchFileViewModel.getColor('TextField.foreground')); - }, 200); - - return self.textFieldFgColor; - } - - public get LanguageTypes(): LanguageType[] { - return this.languageTypes(); - } -} \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/vue-shim.d.ts b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/vue-shim.d.ts new file mode 100644 index 0000000..ad17f79 --- /dev/null +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/app/vue-shim.d.ts @@ -0,0 +1,4 @@ +declare module "*.vue" { + import Vue from "vue"; + export default Vue; +} \ No newline at end of file diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/build-scripts/gen-sprite.js b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/build-scripts/gen-sprite.js index e07d93a..8a17750 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/build-scripts/gen-sprite.js +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/build-scripts/gen-sprite.js @@ -2,12 +2,12 @@ const nsg = require('node-sprite-generator'); nsg({ src: [ - 'dist/icons/*.png' + '.tmp/icons/*.png' ], compositor: 'jimp', stylesheet: 'prefixed-css', - spritePath: 'dist/sprite.png', - stylesheetPath: 'dist/sprite.css', + spritePath: './.tmp/sprite.png', + stylesheetPath: './.tmp/sprite.css', stylesheetOptions: { prefix: 'svg-' } diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/app.js b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/app.js index 0d1aee0..019b161 100644 --- a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/app.js +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/dist/app.js @@ -1,7 +1,28 @@ -!function(e){function t(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/generated/",t(t.s=1)}([function(e,t,n){var i,r,o;/*! - * Knockout JavaScript library v3.4.2 - * (c) The Knockout.js team - http://knockoutjs.com/ - * License: MIT (http://www.opensource.org/licenses/mit-license.php) +!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=34)}([function(t,e,n){"use strict";n.r(e),function(t,n){ +/*! + * Vue.js v2.5.16 + * (c) 2014-2018 Evan You + * Released under the MIT License. */ -!function(){!function(s){var a=this||(0,eval)("this"),l=a.document,u=a.navigator,c=a.jQuery,d=a.JSON;!function(a){r=[t,n],i=a,(o="function"==typeof i?i.apply(t,r):i)!==s&&(e.exports=o)}(function(e,t){function n(e,t){return!!(null===e||typeof e in y)&&e===t}function i(e,t){var n;return function(){n||(n=v.utils.setTimeout(function(){n=s,e()},t))}}function r(e,t){var n;return function(){clearTimeout(n),n=v.utils.setTimeout(e,t)}}function o(e){var t=this;return e&&v.utils.objectForEach(e,function(e,n){var i=v.extenders[e];"function"==typeof i&&(t=i(t,n)||t)}),t}function p(e,t){t&&t!==h?"beforeChange"===t?this._limitBeforeChange(e):this._origNotifySubscribers(e,t):this._limitChange(e)}function f(e,t){null!==t&&t.dispose&&t.dispose()}function m(e,t){var n=this.computedObservable,i=n[S];i.isDisposed||(this.disposalCount&&this.disposalCandidates[t]?(n.addDependencyTracking(t,e,this.disposalCandidates[t]),this.disposalCandidates[t]=null,--this.disposalCount):i.dependencyTracking[t]||n.addDependencyTracking(t,e,i.isSleeping?{_target:e}:n.subscribeToDependency(e)),e._notificationIsPending&&e._notifyNextChangeIfValueIsDifferent())}function g(e,t,n,i){v.bindingHandlers[e]={init:function(e,r,o,s,a){var l,u;return v.computed(function(){var o=r(),s=v.utils.unwrapObservable(o),c=!n!=!s,d=!u;(d||t||c!==l)&&(d&&v.computedContext.getDependenciesCount()&&(u=v.utils.cloneNodes(v.virtualElements.childNodes(e),!0)),c?(d||v.virtualElements.setDomNodeChildren(e,v.utils.cloneNodes(u)),v.applyBindingsToDescendants(i?i(a,o):a,e)):v.virtualElements.emptyNode(e),l=c)},null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}},v.expressionRewriting.bindingRewriteValidators[e]=!1,v.virtualElements.allowedBindings[e]=!0}var v=void 0!==e?e:{};v.exportSymbol=function(e,t){for(var n=e.split("."),i=v,r=0;r4?e:s}(),h=6===y,b=7===y,w=/\S+/g;return{fieldsIncludedWithJsonPost:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],arrayForEach:function(e,t){for(var n=0,i=e.length;n0?e.splice(n,1):0===n&&e.shift()},arrayGetDistinctValues:function(e){e=e||[];for(var t=[],n=0,i=e.length;n0){for(var i=n[0],r=i.parentNode,o=0,s=t.length;o1&&e[e.length-1].parentNode!==t;)e.length--;if(e.length>1){var n=e[0],i=e[e.length-1];for(e.length=0;n!==i;)e.push(n),n=n.nextSibling;e.push(i)}}return e},setOptionNodeSelectionState:function(e,t){y<7?e.setAttribute("selected",t):e.selected=t},stringTrim:function(e){return null===e||e===s?"":e.trim?e.trim():e.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},stringStartsWith:function(e,t){return e=e||"",!(t.length>e.length)&&e.substring(0,t.length)===t},domNodeIsContainedBy:function(e,t){if(e===t)return!0;if(11===e.nodeType)return!1;if(t.contains)return t.contains(3===e.nodeType?e.parentNode:e);if(t.compareDocumentPosition)return 16==(16&t.compareDocumentPosition(e));for(;e&&e!=t;)e=e.parentNode;return!!e},domNodeIsAttachedToDocument:function(e){return v.utils.domNodeIsContainedBy(e,e.ownerDocument.documentElement)},anyDomNodeIsAttachedToDocument:function(e){return!!v.utils.arrayFirst(e,v.utils.domNodeIsAttachedToDocument)},tagNameLower:function(e){return e&&e.tagName&&e.tagName.toLowerCase()},catchFunctionErrors:function(e){return v.onError?function(){try{return e.apply(this,arguments)}catch(e){throw v.onError&&v.onError(e),e}}:e},setTimeout:function(e,t){return setTimeout(v.utils.catchFunctionErrors(e),t)},deferError:function(e){setTimeout(function(){throw v.onError&&v.onError(e),e},0)},registerEventHandler:function(e,t,n){var i=v.utils.catchFunctionErrors(n),r=y&&g[t];if(v.options.useOnlyNativeEvents||r||!c)if(r||"function"!=typeof e.addEventListener){if(void 0===e.attachEvent)throw new Error("Browser doesn't support addEventListener or attachEvent");var o=function(t){i.call(e,t)},s="on"+t;e.attachEvent(s,o),v.utils.domNodeDisposal.addDisposeCallback(e,function(){e.detachEvent(s,o)})}else e.addEventListener(t,i,!1);else c(e).bind(t,i)},triggerEvent:function(e,t){if(!e||!e.nodeType)throw new Error("element must be a DOM node when calling triggerEvent");var n=i(e,t);if(v.options.useOnlyNativeEvents||!c||n)if("function"==typeof l.createEvent){if("function"!=typeof e.dispatchEvent)throw new Error("The supplied element doesn't support dispatchEvent");var r=m[t]||"HTMLEvents",o=l.createEvent(r);o.initEvent(t,!0,!0,a,0,0,0,0,0,!1,!1,!1,!1,0,e),e.dispatchEvent(o)}else if(n&&e.click)e.click();else{if(void 0===e.fireEvent)throw new Error("Browser doesn't support triggering events");e.fireEvent("on"+t)}else c(e).trigger(t)},unwrapObservable:function(e){return v.isObservable(e)?e():e},peekObservable:function(e){return v.isObservable(e)?e.peek():e},toggleDomNodeCssClass:r,setTextContent:function(e,t){var n=v.utils.unwrapObservable(t);null!==n&&n!==s||(n="");var i=v.virtualElements.firstChild(e);!i||3!=i.nodeType||v.virtualElements.nextSibling(i)?v.virtualElements.setDomNodeChildren(e,[e.ownerDocument.createTextNode(n)]):i.data=n,v.utils.forceRefresh(e)},setElementName:function(e,t){if(e.name=t,y<=7)try{e.mergeAttributes(l.createElement(""),!1)}catch(e){}},forceRefresh:function(e){if(y>=9){var t=1==e.nodeType?e:e.parentNode;t.style&&(t.style.zoom=t.style.zoom)}},ensureSelectElementIsRenderedCorrectly:function(e){if(y){var t=e.style.width;e.style.width=0,e.style.width=t}},range:function(e,t){e=v.utils.unwrapObservable(e),t=v.utils.unwrapObservable(t);for(var n=[],i=e;i<=t;i++)n.push(i);return n},makeArray:function(e){for(var t=[],n=0,i=e.length;n=0;o--)i(n[o])&&r.push(n[o]);return r},parseJson:function(e){return"string"==typeof e&&(e=v.utils.stringTrim(e))?d&&d.parse?d.parse(e):new Function("return "+e)():null},stringifyJson:function(e,t,n){if(!d||!d.stringify)throw new Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return d.stringify(v.utils.unwrapObservable(e),t,n)},postJson:function(t,n,i){i=i||{};var r=i.params||{},o=i.includeFields||this.fieldsIncludedWithJsonPost,s=t;if("object"==typeof t&&"form"===v.utils.tagNameLower(t)){var a=t;s=a.action;for(var u=o.length-1;u>=0;u--)for(var c=v.utils.getFormFields(a,o[u]),d=c.length-1;d>=0;d--)r[c[d].name]=c[d].value}n=v.utils.unwrapObservable(n);var p=l.createElement("form");p.style.display="none",p.action=s,p.method="post";for(var f in n){var m=l.createElement("input");m.type="hidden",m.name=f,m.value=v.utils.stringifyJson(v.utils.unwrapObservable(n[f])),p.appendChild(m)}e(r,function(e,t){var n=l.createElement("input");n.type="hidden",n.name=e,n.value=t,p.appendChild(n)}),l.body.appendChild(p),i.submitter?i.submitter(p):p.submit(),setTimeout(function(){p.parentNode.removeChild(p)},0)}}}(),v.exportSymbol("utils",v.utils),v.exportSymbol("utils.arrayForEach",v.utils.arrayForEach),v.exportSymbol("utils.arrayFirst",v.utils.arrayFirst),v.exportSymbol("utils.arrayFilter",v.utils.arrayFilter),v.exportSymbol("utils.arrayGetDistinctValues",v.utils.arrayGetDistinctValues),v.exportSymbol("utils.arrayIndexOf",v.utils.arrayIndexOf),v.exportSymbol("utils.arrayMap",v.utils.arrayMap),v.exportSymbol("utils.arrayPushAll",v.utils.arrayPushAll),v.exportSymbol("utils.arrayRemoveItem",v.utils.arrayRemoveItem),v.exportSymbol("utils.extend",v.utils.extend),v.exportSymbol("utils.fieldsIncludedWithJsonPost",v.utils.fieldsIncludedWithJsonPost),v.exportSymbol("utils.getFormFields",v.utils.getFormFields),v.exportSymbol("utils.peekObservable",v.utils.peekObservable),v.exportSymbol("utils.postJson",v.utils.postJson),v.exportSymbol("utils.parseJson",v.utils.parseJson),v.exportSymbol("utils.registerEventHandler",v.utils.registerEventHandler),v.exportSymbol("utils.stringifyJson",v.utils.stringifyJson),v.exportSymbol("utils.range",v.utils.range),v.exportSymbol("utils.toggleDomNodeCssClass",v.utils.toggleDomNodeCssClass),v.exportSymbol("utils.triggerEvent",v.utils.triggerEvent),v.exportSymbol("utils.unwrapObservable",v.utils.unwrapObservable),v.exportSymbol("utils.objectForEach",v.utils.objectForEach),v.exportSymbol("utils.addOrRemoveItem",v.utils.addOrRemoveItem),v.exportSymbol("utils.setTextContent",v.utils.setTextContent),v.exportSymbol("unwrap",v.utils.unwrapObservable),Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(1===arguments.length)return function(){return t.apply(e,arguments)};var n=Array.prototype.slice.call(arguments,1);return function(){var i=n.slice(0);return i.push.apply(i,arguments),t.apply(e,i)}}),v.utils.domData=new function(){function e(e,r){var o=e[n];if(!o||"null"===o||!i[o]){if(!r)return s;o=e[n]="ko"+t++,i[o]={}}return i[o]}var t=0,n="__ko__"+(new Date).getTime(),i={};return{get:function(t,n){var i=e(t,!1);return i===s?s:i[n]},set:function(t,n,i){if(i!==s||e(t,!1)!==s){e(t,!0)[n]=i}},clear:function(e){var t=e[n];return!!t&&(delete i[t],e[n]=null,!0)},nextKey:function(){return t+++n}}},v.exportSymbol("utils.domData",v.utils.domData),v.exportSymbol("utils.domData.clear",v.utils.domData.clear),v.utils.domNodeDisposal=new function(){function e(e,t){var n=v.utils.domData.get(e,r);return n===s&&t&&(n=[],v.utils.domData.set(e,r,n)),n}function t(e){v.utils.domData.set(e,r,s)}function n(t){var n=e(t,!1);if(n){n=n.slice(0);for(var r=0;r]/);return t&&p[t[1]]||i}function t(t,n){n||(n=l);var i=n.parentWindow||n.defaultView||a,r=v.utils.stringTrim(t).toLowerCase(),o=n.createElement("div"),s=e(r),u=s[0],c="ignored
"+s[1]+t+s[2]+"
";for("function"==typeof i.innerShiv?o.appendChild(i.innerShiv(c)):(f&&n.appendChild(o),o.innerHTML=c,f&&o.parentNode.removeChild(o));u--;)o=o.lastChild;return v.utils.makeArray(o.lastChild.childNodes)}function n(e,t){if(c.parseHTML)return c.parseHTML(e,t)||[];var n=c.clean([e],t);if(n&&n[0]){for(var i=n[0];i.parentNode&&11!==i.parentNode.nodeType;)i=i.parentNode;i.parentNode&&i.parentNode.removeChild(i)}return n}var i=[0,"",""],r=[1,"","
"],o=[2,"","
"],u=[3,"","
"],d=[1,""],p={thead:r,tbody:r,tfoot:r,tr:o,td:u,th:u,option:d,optgroup:d},f=v.utils.ieVersion<=8;v.utils.parseHtmlFragment=function(e,i){return c?n(e,i):t(e,i)},v.utils.setHtml=function(e,t){if(v.utils.emptyDomNode(e),null!==(t=v.utils.unwrapObservable(t))&&t!==s)if("string"!=typeof t&&(t=t.toString()),c)c(e).html(t);else for(var n=v.utils.parseHtmlFragment(t,e.ownerDocument),i=0;it){if(++n>=5e3){u=o,v.utils.deferError(Error("'Too much recursion' after processing "+n+" task groups."));break}t=o}try{e()}catch(e){v.utils.deferError(e)}}}function t(){e(),u=o=r.length=0}function n(){v.tasks.scheduler(t)}var i,r=[],o=0,s=1,u=0;return i=a.MutationObserver?function(e){var t=l.createElement("div");return new MutationObserver(e).observe(t,{attributes:!0}),function(){t.classList.toggle("foo")}}(t):l&&"onreadystatechange"in l.createElement("script")?function(e){var t=l.createElement("script");t.onreadystatechange=function(){t.onreadystatechange=null,l.documentElement.removeChild(t),t=null,e()},l.documentElement.appendChild(t)}:function(e){setTimeout(e,0)},{scheduler:i,schedule:function(e){return o||n(),r[o++]=e,s++},cancel:function(e){var t=e-(s-o);t>=u&&t0?(t.isDifferent(t[w],arguments[0])&&(t.valueWillMutate(),t[w]=arguments[0],t.valueHasMutated()),this):(v.dependencyDetection.registerDependency(t),t[w])}return t[w]=e,v.utils.canSetPrototype||v.utils.extend(t,v.subscribable.fn),v.subscribable.fn.init(t),v.utils.setPrototypeOfOrExtend(t,x),v.options.deferUpdates&&v.extenders.deferred(t,!0),t};var x={equalityComparer:n,peek:function(){return this[w]},valueHasMutated:function(){this.notifySubscribers(this[w])},valueWillMutate:function(){this.notifySubscribers(this[w],"beforeChange")}};v.utils.canSetPrototype&&v.utils.setPrototypeOf(x,v.subscribable.fn);var E=v.observable.protoProperty="__ko_proto__";x[E]=v.observable,v.hasPrototype=function(e,t){return null!==e&&e!==s&&e[E]!==s&&(e[E]===t||v.hasPrototype(e[E],t))},v.isObservable=function(e){return v.hasPrototype(e,v.observable)},v.isWriteableObservable=function(e){return"function"==typeof e&&e[E]===v.observable||!("function"!=typeof e||e[E]!==v.dependentObservable||!e.hasWriteFunction)},v.exportSymbol("observable",v.observable),v.exportSymbol("isObservable",v.isObservable),v.exportSymbol("isWriteableObservable",v.isWriteableObservable),v.exportSymbol("isWritableObservable",v.isWriteableObservable),v.exportSymbol("observable.fn",x),v.exportProperty(x,"peek",x.peek),v.exportProperty(x,"valueHasMutated",x.valueHasMutated),v.exportProperty(x,"valueWillMutate",x.valueWillMutate),v.observableArray=function(e){if("object"!=typeof(e=e||[])||!("length"in e))throw new Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");var t=v.observable(e);return v.utils.setPrototypeOfOrExtend(t,v.observableArray.fn),t.extend({trackArrayChanges:!0})},v.observableArray.fn={remove:function(e){for(var t=this.peek(),n=[],i="function"!=typeof e||v.isObservable(e)?function(t){return t===e}:e,r=0;r=0}):[]},destroy:function(e){var t=this.peek(),n="function"!=typeof e||v.isObservable(e)?function(t){return t===e}:e;this.valueWillMutate();for(var i=t.length-1;i>=0;i--){n(t[i])&&(t[i]._destroy=!0)}this.valueHasMutated()},destroyAll:function(e){return e===s?this.destroy(function(){return!0}):e?this.destroy(function(t){return v.utils.arrayIndexOf(e,t)>=0}):[]},indexOf:function(e){var t=this();return v.utils.arrayIndexOf(t,e)},replace:function(e,t){var n=this.indexOf(e);n>=0&&(this.valueWillMutate(),this.peek()[n]=t,this.valueHasMutated())}},v.utils.canSetPrototype&&v.utils.setPrototypeOf(v.observableArray.fn,v.observable.fn),v.utils.arrayForEach(["pop","push","reverse","shift","sort","splice","unshift"],function(e){v.observableArray.fn[e]=function(){var t=this.peek();this.valueWillMutate(),this.cacheDiffForKnownOperation(t,e,arguments);var n=t[e].apply(t,arguments);return this.valueHasMutated(),n===t?this:n}}),v.utils.arrayForEach(["slice"],function(e){v.observableArray.fn[e]=function(){var t=this();return t[e].apply(t,arguments)}}),v.exportSymbol("observableArray",v.observableArray);var T="arrayChange";v.extenders.trackArrayChanges=function(e,t){function n(){if(!a){a=!0,o=e.notifySubscribers,e.notifySubscribers=function(e,t){return t&&t!==h||++u,o.apply(this,arguments)};var t=[].concat(e.peek()||[]);l=null,r=e.subscribe(function(n){if(n=[].concat(n||[]),e.hasSubscriptionsForEvent(T))var r=i(t,n);t=n,l=null,u=0,r&&r.length&&e.notifySubscribers(r,T)})}}function i(t,n){return(!l||u>1)&&(l=v.utils.compareArrays(t,n,e.compareArrayOptions)),l}if(e.compareArrayOptions={},t&&"object"==typeof t&&v.utils.extend(e.compareArrayOptions,t),e.compareArrayOptions.sparse=!0,!e.cacheDiffForKnownOperation){var r,o,a=!1,l=null,u=0,c=e.beforeSubscriptionAdd,d=e.afterSubscriptionRemove;e.beforeSubscriptionAdd=function(t){c&&c.call(e,t),t===T&&n()},e.afterSubscriptionRemove=function(t){d&&d.call(e,t),t!==T||e.hasSubscriptionsForEvent(T)||(o&&(e.notifySubscribers=o,o=s),r.dispose(),a=!1)},e.cacheDiffForKnownOperation=function(e,t,n){function i(e,t,n){return r[r.length]={status:e,value:t,index:n}}if(a&&!u){var r=[],o=e.length,s=n.length,c=0;switch(t){case"push":c=o;case"unshift":for(var d=0;d0){if("function"!=typeof r)throw new Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return r.apply(o.evaluatorFunctionTarget,arguments),this}return v.dependencyDetection.registerDependency(i),(o.isDirty||o.isSleeping&&i.haveDependenciesChanged())&&i.evaluateImmediate(),o.latestValue}if("object"==typeof e?n=e:(n=n||{},e&&(n.read=e)),"function"!=typeof n.read)throw Error("Pass a function that returns the value of the ko.computed");var r=n.write,o={latestValue:s,isStale:!0,isDirty:!0,isBeingEvaluated:!1,suppressDisposalUntilDisposeWhenReturnsFalse:!1,isDisposed:!1,pure:!1,isSleeping:!1,readFunction:n.read,evaluatorFunctionTarget:t||n.owner,disposeWhenNodeIsRemoved:n.disposeWhenNodeIsRemoved||n.disposeWhenNodeIsRemoved||null,disposeWhen:n.disposeWhen||n.disposeWhen,domNodeDisposalCallback:null,dependencyTracking:{},dependenciesCount:0,evaluationTimeoutInstance:null};return i[S]=o,i.hasWriteFunction="function"==typeof r,v.utils.canSetPrototype||v.utils.extend(i,v.subscribable.fn),v.subscribable.fn.init(i),v.utils.setPrototypeOfOrExtend(i,D),n.pure?(o.pure=!0,o.isSleeping=!0,v.utils.extend(i,C)):n.deferEvaluation&&v.utils.extend(i,N),v.options.deferUpdates&&v.extenders.deferred(i,!0),i._options=n,o.disposeWhenNodeIsRemoved&&(o.suppressDisposalUntilDisposeWhenReturnsFalse=!0,o.disposeWhenNodeIsRemoved.nodeType||(o.disposeWhenNodeIsRemoved=null)),o.isSleeping||n.deferEvaluation||i.evaluateImmediate(),o.disposeWhenNodeIsRemoved&&i.isActive()&&v.utils.domNodeDisposal.addDisposeCallback(o.disposeWhenNodeIsRemoved,o.domNodeDisposalCallback=function(){i.dispose()}),i};var D={equalityComparer:n,getDependenciesCount:function(){return this[S].dependenciesCount},addDependencyTracking:function(e,t,n){if(this[S].pure&&t===this)throw Error("A 'pure' computed must not be called recursively");this[S].dependencyTracking[e]=n,n._order=this[S].dependenciesCount++,n._version=t.getVersion()},haveDependenciesChanged:function(){var e,t,n=this[S].dependencyTracking;for(e in n)if(n.hasOwnProperty(e)&&(t=n[e],this._evalDelayed&&t._target._notificationIsPending||t._target.hasChanged(t._version)))return!0},markDirty:function(){this._evalDelayed&&!this[S].isBeingEvaluated&&this._evalDelayed(!1)},isActive:function(){var e=this[S];return e.isDirty||e.dependenciesCount>0},respondToChange:function(){this._notificationIsPending?this[S].isDirty&&(this[S].isStale=!0):this.evaluatePossiblyAsync()},subscribeToDependency:function(e){if(e._deferUpdates&&!this[S].disposeWhenNodeIsRemoved){var t=e.subscribe(this.markDirty,this,"dirty"),n=e.subscribe(this.respondToChange,this);return{_target:e,dispose:function(){t.dispose(),n.dispose()}}}return e.subscribe(this.evaluatePossiblyAsync,this)},evaluatePossiblyAsync:function(){var e=this,t=e.throttleEvaluation;t&&t>=0?(clearTimeout(this[S].evaluationTimeoutInstance),this[S].evaluationTimeoutInstance=v.utils.setTimeout(function(){e.evaluateImmediate(!0)},t)):e._evalDelayed?e._evalDelayed(!0):e.evaluateImmediate(!0)},evaluateImmediate:function(e){var t=this,n=t[S],i=n.disposeWhen,r=!1;if(!n.isBeingEvaluated&&!n.isDisposed){if(n.disposeWhenNodeIsRemoved&&!v.utils.domNodeIsAttachedToDocument(n.disposeWhenNodeIsRemoved)||i&&i()){if(!n.suppressDisposalUntilDisposeWhenReturnsFalse)return void t.dispose()}else n.suppressDisposalUntilDisposeWhenReturnsFalse=!1;n.isBeingEvaluated=!0;try{r=this.evaluateImmediate_CallReadWithDependencyDetection(e)}finally{n.isBeingEvaluated=!1}return n.dependenciesCount||t.dispose(),r}},evaluateImmediate_CallReadWithDependencyDetection:function(e){var t=this,n=t[S],i=!1,r=n.pure?s:!n.dependenciesCount,o={computedObservable:t,disposalCandidates:n.dependencyTracking,disposalCount:n.dependenciesCount};v.dependencyDetection.begin({callbackTarget:o,callback:m,computed:t,isInitial:r}),n.dependencyTracking={},n.dependenciesCount=0;var a=this.evaluateImmediate_CallReadThenEndDependencyDetection(n,o);return t.isDifferent(n.latestValue,a)&&(n.isSleeping||t.notifySubscribers(n.latestValue,"beforeChange"),n.latestValue=a,t._latestValue=a,n.isSleeping?t.updateVersion():e&&t.notifySubscribers(n.latestValue),i=!0),r&&t.notifySubscribers(n.latestValue,"awake"),i},evaluateImmediate_CallReadThenEndDependencyDetection:function(e,t){try{var n=e.readFunction;return e.evaluatorFunctionTarget?n.call(e.evaluatorFunctionTarget):n()}finally{v.dependencyDetection.end(),t.disposalCount&&!e.isSleeping&&v.utils.objectForEach(t.disposalCandidates,f),e.isStale=e.isDirty=!1}},peek:function(e){var t=this[S];return(t.isDirty&&(e||!t.dependenciesCount)||t.isSleeping&&this.haveDependenciesChanged())&&this.evaluateImmediate(),t.latestValue},limit:function(e){v.subscribable.fn.limit.call(this,e),this._evalIfChanged=function(){return this[S].isStale?this.evaluateImmediate():this[S].isDirty=!1,this[S].latestValue},this._evalDelayed=function(e){this._limitBeforeChange(this[S].latestValue),this[S].isDirty=!0,e&&(this[S].isStale=!0),this._limitChange(this)}},dispose:function(){var e=this[S];!e.isSleeping&&e.dependencyTracking&&v.utils.objectForEach(e.dependencyTracking,function(e,t){t.dispose&&t.dispose()}),e.disposeWhenNodeIsRemoved&&e.domNodeDisposalCallback&&v.utils.domNodeDisposal.removeDisposeCallback(e.disposeWhenNodeIsRemoved,e.domNodeDisposalCallback),e.dependencyTracking=null,e.dependenciesCount=0,e.isDisposed=!0,e.isStale=!1,e.isDirty=!1,e.isSleeping=!1,e.disposeWhenNodeIsRemoved=null}},C={beforeSubscriptionAdd:function(e){var t=this,n=t[S];if(!n.isDisposed&&n.isSleeping&&"change"==e){if(n.isSleeping=!1,n.isStale||t.haveDependenciesChanged())n.dependencyTracking=null,n.dependenciesCount=0,t.evaluateImmediate()&&t.updateVersion();else{var i=[];v.utils.objectForEach(n.dependencyTracking,function(e,t){i[t._order]=e}),v.utils.arrayForEach(i,function(e,i){var r=n.dependencyTracking[e],o=t.subscribeToDependency(r._target);o._order=i,o._version=r._version,n.dependencyTracking[e]=o})}n.isDisposed||t.notifySubscribers(n.latestValue,"awake")}},afterSubscriptionRemove:function(e){var t=this[S];t.isDisposed||"change"!=e||this.hasSubscriptionsForEvent("change")||(v.utils.objectForEach(t.dependencyTracking,function(e,n){n.dispose&&(t.dependencyTracking[e]={_target:n._target,_order:n._order,_version:n._version},n.dispose())}),t.isSleeping=!0,this.notifySubscribers(s,"asleep"))},getVersion:function(){var e=this[S];return e.isSleeping&&(e.isStale||this.haveDependenciesChanged())&&this.evaluateImmediate(),v.subscribable.fn.getVersion.call(this)}},N={beforeSubscriptionAdd:function(e){"change"!=e&&"beforeChange"!=e||this.peek()}};v.utils.canSetPrototype&&v.utils.setPrototypeOf(D,v.subscribable.fn);var k=v.observable.protoProperty;v.computed[k]=v.observable,D[k]=v.computed,v.isComputed=function(e){return v.hasPrototype(e,v.computed)},v.isPureComputed=function(e){return v.hasPrototype(e,v.computed)&&e[S]&&e[S].pure},v.exportSymbol("computed",v.computed),v.exportSymbol("dependentObservable",v.computed),v.exportSymbol("isComputed",v.isComputed),v.exportSymbol("isPureComputed",v.isPureComputed),v.exportSymbol("computed.fn",D),v.exportProperty(D,"peek",D.peek),v.exportProperty(D,"dispose",D.dispose),v.exportProperty(D,"isActive",D.isActive),v.exportProperty(D,"getDependenciesCount",D.getDependenciesCount),v.pureComputed=function(e,t){return"function"==typeof e?v.computed(e,t,{pure:!0}):(e=v.utils.extend({},e),e.pure=!0,v.computed(e,t))},v.exportSymbol("pureComputed",v.pureComputed),function(){function e(i,r,o){if(o=o||new n,!!("object"!=typeof(i=r(i))||null===i||i===s||i instanceof RegExp||i instanceof Date||i instanceof String||i instanceof Number||i instanceof Boolean))return i;var a=i instanceof Array?[]:{};return o.save(i,a),t(i,function(t){var n=r(i[t]);switch(typeof n){case"boolean":case"number":case"string":case"function":a[t]=n;break;case"object":case"undefined":var l=o.get(n);a[t]=l!==s?l:e(n,r,o)}}),a}function t(e,t){if(e instanceof Array){for(var n=0;n=0?this.values[n]=t:(this.keys.push(e),this.values.push(t))},get:function(e){var t=v.utils.arrayIndexOf(this.keys,e);return t>=0?this.values[t]:s}}}(),v.exportSymbol("toJS",v.toJS),v.exportSymbol("toJSON",v.toJSON),function(){v.selectExtensions={readValue:function(e){switch(v.utils.tagNameLower(e)){case"option":return!0===e.__ko__hasDomDataOptionValue__?v.utils.domData.get(e,v.bindingHandlers.options.optionValueDomDataKey):v.utils.ieVersion<=7?e.getAttributeNode("value")&&e.getAttributeNode("value").specified?e.value:e.text:e.value;case"select":return e.selectedIndex>=0?v.selectExtensions.readValue(e.options[e.selectedIndex]):s;default:return e.value}},writeValue:function(e,t,n){switch(v.utils.tagNameLower(e)){case"option":switch(typeof t){case"string":v.utils.domData.set(e,v.bindingHandlers.options.optionValueDomDataKey,s),"__ko__hasDomDataOptionValue__"in e&&delete e.__ko__hasDomDataOptionValue__,e.value=t;break;default:v.utils.domData.set(e,v.bindingHandlers.options.optionValueDomDataKey,t),e.__ko__hasDomDataOptionValue__=!0,e.value="number"==typeof t?t:""}break;case"select":""!==t&&null!==t||(t=s);for(var i,r=-1,o=0,a=e.options.length;o=0||t===s&&e.size>1)&&(e.selectedIndex=r);break;default:null!==t&&t!==s||(t=""),e.value=t}}}}(),v.exportSymbol("selectExtensions",v.selectExtensions),v.exportSymbol("selectExtensions.readValue",v.selectExtensions.readValue),v.exportSymbol("selectExtensions.writeValue",v.selectExtensions.writeValue),v.expressionRewriting=function(){function e(e){if(v.utils.arrayIndexOf(i,e)>=0)return!1;var t=e.match(r);return null!==t&&(t[1]?"Object("+t[1]+")"+t[2]:e)}function t(e){var t=v.utils.stringTrim(e);123===t.charCodeAt(0)&&(t=t.slice(1,-1));var n,i=[],r=t.match(o),l=[],u=0;if(r){r.push(",");for(var c,d=0;c=r[d];++d){var p=c.charCodeAt(0);if(44===p){if(u<=0){i.push(n&&l.length?{key:n,value:l.join("")}:{unknown:n||l.join("")}),n=u=0,l=[];continue}}else if(58===p){if(!u&&!n&&1===l.length){n=l.pop();continue}}else if(47===p&&d&&c.length>1){var f=r[d-1].match(s);f&&!a[f[0]]&&(t=t.substr(t.indexOf(c)+1),r=t.match(o),r.push(","),d=-1,c="/")}else 40===p||123===p||91===p?++u:41===p||125===p||93===p?--u:n||l.length||34!==p&&39!==p||(c=c.slice(1,-1));l.push(c)}}return i}function n(n,i){function r(t,n){var i;if(!u){if(!function(e){return!e||!e.preprocess||(n=e.preprocess(n,t,r))}(v.getBindingHandler(t)))return;l[t]&&(i=e(n))&&s.push("'"+t+"':function(_z){"+i+"=_z}")}a&&(n="function(){return "+n+" }"),o.push("'"+t+"':"+n)}i=i||{};var o=[],s=[],a=i.valueAccessors,u=i.bindingParams,c="string"==typeof n?t(n):n;return v.utils.arrayForEach(c,function(e){r(e.key||e.unknown,e.value)}),s.length&&r("_ko_property_writers","{"+s.join(",")+" }"),o.join(",")}var i=["true","false","null","undefined"],r=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,o=RegExp("\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'|/(?:[^/\\\\]|\\\\.)*/w*|[^\\s:,/][^,\"'{}()/:[\\]]*[^\\s,\"'{}()/:[\\]]|[^\\s]","g"),s=/[\])"'A-Za-z0-9_$]+$/,a={in:1,return:1,typeof:1},l={};return{bindingRewriteValidators:[],twoWayBindings:l,parseObjectLiteral:t,preProcessBindings:n,keyValueArrayContainsKey:function(e,t){for(var n=0;n0?i[i.length-1].nextSibling:e.nextSibling:null}function r(n){var r=n.firstChild,o=null;if(r)do{if(o)o.push(r);else if(e(r)){var s=i(r,!0);s?r=s:o=[r]}else t(r)&&(o=[r])}while(r=r.nextSibling);return o}var o=l&&"\x3c!--test--\x3e"===l.createComment("test").text,s=o?/^$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,a=o?/^$/:/^\s*\/ko\s*$/,u={ul:!0,ol:!0};v.virtualElements={allowedBindings:{},childNodes:function(t){return e(t)?n(t):t.childNodes},emptyNode:function(t){if(e(t))for(var n=v.virtualElements.childNodes(t),i=0,r=n.length;i=0:a?n:o()===n}var o=v.pureComputed(function(){return n.has("checkedValue")?v.utils.unwrapObservable(n.get("checkedValue")):n.has("value")?v.utils.unwrapObservable(n.get("value")):e.value}),a="checkbox"==e.type,l="radio"==e.type;if(a||l){var u=t(),c=a&&v.utils.unwrapObservable(u)instanceof Array,d=!(c&&u.push&&u.splice),p=c?o():s,f=l||c;l&&!e.name&&v.bindingHandlers.uniqueName.init(e,function(){return!0}),v.computed(i,null,{disposeWhenNodeIsRemoved:e}),v.utils.registerEventHandler(e,"click",i),v.computed(r,null,{disposeWhenNodeIsRemoved:e}),u=s}}},v.expressionRewriting.twoWayBindings.checked=!0,v.bindingHandlers.checkedValue={update:function(e,t){e.value=v.utils.unwrapObservable(t())}}}();v.bindingHandlers.css={update:function(e,t){var n=v.utils.unwrapObservable(t());null!==n&&"object"==typeof n?v.utils.objectForEach(n,function(t,n){n=v.utils.unwrapObservable(n),v.utils.toggleDomNodeCssClass(e,t,n)}):(n=v.utils.stringTrim(String(n||"")),v.utils.toggleDomNodeCssClass(e,e.__ko__cssValue,!1),e.__ko__cssValue=n,v.utils.toggleDomNodeCssClass(e,n,!0))}},v.bindingHandlers.enable={update:function(e,t){var n=v.utils.unwrapObservable(t());n&&e.disabled?e.removeAttribute("disabled"):n||e.disabled||(e.disabled=!0)}},v.bindingHandlers.disable={update:function(e,t){v.bindingHandlers.enable.update(e,function(){return!v.utils.unwrapObservable(t())})}},v.bindingHandlers.event={init:function(e,t,n,i,r){var o=t()||{};v.utils.objectForEach(o,function(o){"string"==typeof o&&v.utils.registerEventHandler(e,o,function(e){var s,a=t()[o];if(a){try{var l=v.utils.makeArray(arguments);i=r.$data,l.unshift(i),s=a.apply(i,l)}finally{!0!==s&&(e.preventDefault?e.preventDefault():e.returnValue=!1)}!1!==n.get(o+"Bubble")||(e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation())}})})}},v.bindingHandlers.foreach={makeTemplateValueAccessor:function(e){return function(){var t=e(),n=v.utils.peekObservable(t);return n&&"number"!=typeof n.length?(v.utils.unwrapObservable(t),{foreach:n.data,as:n.as,includeDestroyed:n.includeDestroyed,afterAdd:n.afterAdd,beforeRemove:n.beforeRemove,afterRender:n.afterRender,beforeMove:n.beforeMove,afterMove:n.afterMove,templateEngine:v.nativeTemplateEngine.instance}):{foreach:t,templateEngine:v.nativeTemplateEngine.instance}}},init:function(e,t,n,i,r){return v.bindingHandlers.template.init(e,v.bindingHandlers.foreach.makeTemplateValueAccessor(t))},update:function(e,t,n,i,r){return v.bindingHandlers.template.update(e,v.bindingHandlers.foreach.makeTemplateValueAccessor(t),n,i,r)}},v.expressionRewriting.bindingRewriteValidators.foreach=!1,v.virtualElements.allowedBindings.foreach=!0;v.bindingHandlers.hasfocus={init:function(e,t,n){var i=function(i){e.__ko_hasfocusUpdating=!0;var r=e.ownerDocument;if("activeElement"in r){var o;try{o=r.activeElement}catch(e){o=r.body}i=o===e}var s=t();v.expressionRewriting.writeValueToProperty(s,n,"hasfocus",i,!0),e.__ko_hasfocusLastValue=i,e.__ko_hasfocusUpdating=!1},r=i.bind(null,!0),o=i.bind(null,!1);v.utils.registerEventHandler(e,"focus",r),v.utils.registerEventHandler(e,"focusin",r),v.utils.registerEventHandler(e,"blur",o),v.utils.registerEventHandler(e,"focusout",o)},update:function(e,t){var n=!!v.utils.unwrapObservable(t());e.__ko_hasfocusUpdating||e.__ko_hasfocusLastValue===n||(n?e.focus():e.blur(),!n&&e.__ko_hasfocusLastValue&&e.ownerDocument.body.focus(),v.dependencyDetection.ignore(v.utils.triggerEvent,null,[e,n?"focusin":"focusout"]))}},v.expressionRewriting.twoWayBindings.hasfocus=!0,v.bindingHandlers.hasFocus=v.bindingHandlers.hasfocus,v.expressionRewriting.twoWayBindings.hasFocus=!0,v.bindingHandlers.html={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){v.utils.setHtml(e,t())}},g("if"),g("ifnot",!1,!0),g("with",!0,!1,function(e,t){return e.createStaticChildContext(t)});var _={};v.bindingHandlers.options={init:function(e){if("select"!==v.utils.tagNameLower(e))throw new Error("options binding applies only to SELECT elements");for(;e.length>0;)e.remove(0);return{controlsDescendantBindings:!0}},update:function(e,t,n){function i(){return v.utils.arrayFilter(e.options,function(e){return e.selected})}function r(e,t,n){var i=typeof t;return"function"==i?t(e):"string"==i?e[t]:n}function o(t,i,o){o.length&&(h=!m&&o[0].selected?[v.selectExtensions.readValue(o[0])]:[],b=!0);var a=e.ownerDocument.createElement("option");if(t===_)v.utils.setTextContent(a,n.get("optionsCaption")),v.selectExtensions.writeValue(a,s);else{var l=r(t,n.get("optionsValue"),t);v.selectExtensions.writeValue(a,v.utils.unwrapObservable(l));var u=r(t,n.get("optionsText"),l);v.utils.setTextContent(a,u)}return[a]}function a(t,i){if(b&&m)v.selectExtensions.writeValue(e,v.utils.unwrapObservable(n.get("value")),!0);else if(h.length){var r=v.utils.arrayIndexOf(h,v.selectExtensions.readValue(i[0]))>=0;v.utils.setOptionNodeSelectionState(i[0],r),b&&!r&&v.dependencyDetection.ignore(v.utils.triggerEvent,null,[e,"change"])}}var l,u,c=0==e.length,d=e.multiple,p=!c&&d?e.scrollTop:null,f=v.utils.unwrapObservable(t()),m=n.get("valueAllowUnset")&&n.has("value"),g=n.get("optionsIncludeDestroyed"),y={},h=[];m||(d?h=v.utils.arrayMap(i(),v.selectExtensions.readValue):e.selectedIndex>=0&&h.push(v.selectExtensions.readValue(e.options[e.selectedIndex]))),f&&(void 0===f.length&&(f=[f]),u=v.utils.arrayFilter(f,function(e){return g||e===s||null===e||!v.utils.unwrapObservable(e._destroy)}),n.has("optionsCaption")&&null!==(l=v.utils.unwrapObservable(n.get("optionsCaption")))&&l!==s&&u.unshift(_));var b=!1;y.beforeRemove=function(t){e.removeChild(t)};var w=a;n.has("optionsAfterRender")&&"function"==typeof n.get("optionsAfterRender")&&(w=function(e,t){a(e,t),v.dependencyDetection.ignore(n.get("optionsAfterRender"),null,[t[0],e!==_?e:s])}),v.utils.setDomNodeChildrenFromArrayMapping(e,u,o,y,w),v.dependencyDetection.ignore(function(){if(m)v.selectExtensions.writeValue(e,v.utils.unwrapObservable(n.get("value")),!0);else{var t;t=d?h.length&&i().length=0?v.selectExtensions.readValue(e.options[e.selectedIndex])!==h[0]:h.length||e.selectedIndex>=0,t&&v.utils.triggerEvent(e,"change")}}),v.utils.ensureSelectElementIsRenderedCorrectly(e),p&&Math.abs(p-e.scrollTop)>20&&(e.scrollTop=p)}},v.bindingHandlers.options.optionValueDomDataKey=v.utils.domData.nextKey(),v.bindingHandlers.selectedOptions={after:["options","foreach"],init:function(e,t,n){v.utils.registerEventHandler(e,"change",function(){var i=t(),r=[];v.utils.arrayForEach(e.getElementsByTagName("option"),function(e){e.selected&&r.push(v.selectExtensions.readValue(e))}),v.expressionRewriting.writeValueToProperty(i,n,"selectedOptions",r)})},update:function(e,t){if("select"!=v.utils.tagNameLower(e))throw new Error("values binding applies only to SELECT elements");var n=v.utils.unwrapObservable(t()),i=e.scrollTop;n&&"number"==typeof n.length&&v.utils.arrayForEach(e.getElementsByTagName("option"),function(e){var t=v.utils.arrayIndexOf(n,v.selectExtensions.readValue(e))>=0;e.selected!=t&&v.utils.setOptionNodeSelectionState(e,t)}),e.scrollTop=i}},v.expressionRewriting.twoWayBindings.selectedOptions=!0,v.bindingHandlers.style={update:function(e,t){var n=v.utils.unwrapObservable(t()||{});v.utils.objectForEach(n,function(t,n){n=v.utils.unwrapObservable(n),null!==n&&n!==s&&!1!==n||(n=""),e.style[t]=n})}},v.bindingHandlers.submit={init:function(e,t,n,i,r){if("function"!=typeof t())throw new Error("The value for a submit binding must be a function");v.utils.registerEventHandler(e,"submit",function(n){var i,o=t();try{i=o.call(r.$data,e)}finally{!0!==i&&(n.preventDefault?n.preventDefault():n.returnValue=!1)}})}},v.bindingHandlers.text={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){v.utils.setTextContent(e,t())}},v.virtualElements.allowedBindings.text=!0,function(){if(a&&a.navigator)var e=function(e){if(e)return parseFloat(e[1])},t=a.opera&&a.opera.version&&parseInt(a.opera.version()),n=a.navigator.userAgent,i=e(n.match(/^(?:(?!chrome).)*version\/([^ ]*) safari/i)),r=e(n.match(/Firefox\/([^ ]*)/));if(v.utils.ieVersion<10)var o=v.utils.domData.nextKey(),l=v.utils.domData.nextKey(),u=function(e){var t=this.activeElement,n=t&&v.utils.domData.get(t,l);n&&n(e)},c=function(e,t){var n=e.ownerDocument;v.utils.domData.get(n,o)||(v.utils.domData.set(n,o,!0),v.utils.registerEventHandler(n,"selectionchange",u)),v.utils.domData.set(e,l,t)};v.bindingHandlers.textInput={init:function(e,n,o){var a,l,u=e.value,d=function(t){clearTimeout(a),l=a=s;var i=e.value;u!==i&&(t&&(e._ko_textInputProcessedEvent=t.type),u=i,v.expressionRewriting.writeValueToProperty(n(),o,"textInput",i))},p=function(t){if(!a){l=e.value;var n=d.bind(e,{type:t.type});a=v.utils.setTimeout(n,4)}},f=9==v.utils.ieVersion?p:d,m=function(){var t=v.utils.unwrapObservable(n());if(null!==t&&t!==s||(t=""),l!==s&&t===l)return void v.utils.setTimeout(m,4);e.value!==t&&(u=t,e.value=t)},g=function(t,n){v.utils.registerEventHandler(e,t,n)};v.bindingHandlers.textInput._forceUpdateOn?v.utils.arrayForEach(v.bindingHandlers.textInput._forceUpdateOn,function(e){"after"==e.slice(0,5)?g(e.slice(5),p):g(e,d)}):v.utils.ieVersion<10?(g("propertychange",function(e){"value"===e.propertyName&&f(e)}),8==v.utils.ieVersion&&(g("keyup",d),g("keydown",d)),v.utils.ieVersion>=8&&(c(e,f),g("dragend",p))):(g("input",d),i<5&&"textarea"===v.utils.tagNameLower(e)?(g("keydown",p),g("paste",p),g("cut",p)):t<11?g("keydown",p):r<4&&(g("DOMAutoComplete",d),g("dragdrop",d),g("drop",d))),g("change",d),v.computed(m,null,{disposeWhenNodeIsRemoved:e})}},v.expressionRewriting.twoWayBindings.textInput=!0,v.bindingHandlers.textinput={preprocess:function(e,t,n){n("textInput",e)}}}(),v.bindingHandlers.uniqueName={init:function(e,t){if(t()){var n="ko_unique_"+ ++v.bindingHandlers.uniqueName.currentIndex;v.utils.setElementName(e,n)}}},v.bindingHandlers.uniqueName.currentIndex=0,v.bindingHandlers.value={after:["options","foreach"],init:function(e,t,n){if("input"==e.tagName.toLowerCase()&&("checkbox"==e.type||"radio"==e.type))return void v.applyBindingAccessorsToNode(e,{checkedValue:t});var i=["change"],r=n.get("valueUpdate"),o=!1,s=null;r&&("string"==typeof r&&(r=[r]),v.utils.arrayPushAll(i,r),i=v.utils.arrayGetDistinctValues(i));var a=function(){s=null,o=!1;var i=t(),r=v.selectExtensions.readValue(e);v.expressionRewriting.writeValueToProperty(i,n,"value",r)};v.utils.ieVersion&&"input"==e.tagName.toLowerCase()&&"text"==e.type&&"off"!=e.autocomplete&&(!e.form||"off"!=e.form.autocomplete)&&-1==v.utils.arrayIndexOf(i,"propertychange")&&(v.utils.registerEventHandler(e,"propertychange",function(){o=!0}),v.utils.registerEventHandler(e,"focus",function(){o=!1}),v.utils.registerEventHandler(e,"blur",function(){o&&a()})),v.utils.arrayForEach(i,function(t){var n=a;v.utils.stringStartsWith(t,"after")&&(n=function(){s=v.selectExtensions.readValue(e),v.utils.setTimeout(a,0)},t=t.substring("after".length)),v.utils.registerEventHandler(e,t,n)});var l=function(){var i=v.utils.unwrapObservable(t()),r=v.selectExtensions.readValue(e);if(null!==s&&i===s)return void v.utils.setTimeout(l,0);if(i!==r)if("select"===v.utils.tagNameLower(e)){var o=n.get("valueAllowUnset"),a=function(){v.selectExtensions.writeValue(e,i,o)};a(),o||i===v.selectExtensions.readValue(e)?v.utils.setTimeout(a,0):v.dependencyDetection.ignore(v.utils.triggerEvent,null,[e,"change"])}else v.selectExtensions.writeValue(e,i)};v.computed(l,null,{disposeWhenNodeIsRemoved:e})},update:function(){}},v.expressionRewriting.twoWayBindings.value=!0,v.bindingHandlers.visible={update:function(e,t){var n=v.utils.unwrapObservable(t()),i=!("none"==e.style.display);n&&!i?e.style.display="":!n&&i&&(e.style.display="none")}},function(e){v.bindingHandlers[e]={init:function(t,n,i,r,o){var s=function(){var t={};return t[e]=n(),t};return v.bindingHandlers.event.init.call(this,t,s,i,r,o)}}}("click"),v.templateEngine=function(){},v.templateEngine.prototype.renderTemplateSource=function(e,t,n,i){throw new Error("Override renderTemplateSource")},v.templateEngine.prototype.createJavaScriptEvaluatorBlock=function(e){throw new Error("Override createJavaScriptEvaluatorBlock")},v.templateEngine.prototype.makeTemplateSource=function(e,t){if("string"==typeof e){t=t||l;var n=t.getElementById(e);if(!n)throw new Error("Cannot find template with ID "+e);return new v.templateSources.domElement(n)}if(1==e.nodeType||8==e.nodeType)return new v.templateSources.anonymousTemplate(e);throw new Error("Unknown template type: "+e)},v.templateEngine.prototype.renderTemplate=function(e,t,n,i){var r=this.makeTemplateSource(e,i);return this.renderTemplateSource(r,t,n,i)},v.templateEngine.prototype.isTemplateRewritten=function(e,t){return!1===this.allowTemplateRewriting||this.makeTemplateSource(e,t).data("isRewritten")},v.templateEngine.prototype.rewriteTemplate=function(e,t,n){var i=this.makeTemplateSource(e,n),r=t(i.text());i.text(r),i.data("isRewritten",!0)},v.exportSymbol("templateEngine",v.templateEngine),v.templateRewriting=function(){function e(e){for(var t=v.expressionRewriting.bindingRewriteValidators,n=0;n]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,i=//g;return{ensureTemplateIsRewritten:function(e,t,n){t.isTemplateRewritten(e,n)||t.rewriteTemplate(e,function(e){return v.templateRewriting.memoizeBindingAttributeSyntax(e,t)},n)},memoizeBindingAttributeSyntax:function(e,r){return e.replace(n,function(){return t(arguments[4],arguments[1],arguments[2],r)}).replace(i,function(){return t(arguments[1],"\x3c!-- ko --\x3e","#comment",r)})},applyMemoizedBindingsToNextSibling:function(e,t){return v.memoization.memoize(function(n,i){var r=n.nextSibling;r&&r.nodeName.toLowerCase()===t&&v.applyBindingAccessorsToNode(r,e,i)})}}}(),v.exportSymbol("__tr_ambtns",v.templateRewriting.applyMemoizedBindingsToNextSibling),function(){function e(e){return v.utils.domData.get(e,i)||{}}function t(e,t){v.utils.domData.set(e,i,t)}v.templateSources={};v.templateSources.domElement=function(e){if(this.domElement=e,e){var t=v.utils.tagNameLower(e);this.templateType="script"===t?1:"textarea"===t?2:"template"==t&&e.content&&11===e.content.nodeType?3:4}},v.templateSources.domElement.prototype.text=function(){var e=1===this.templateType?"text":2===this.templateType?"value":"innerHTML";if(0==arguments.length)return this.domElement[e];var t=arguments[0];"innerHTML"===e?v.utils.setHtml(this.domElement,t):this.domElement[e]=t};var n=v.utils.domData.nextKey()+"_";v.templateSources.domElement.prototype.data=function(e){if(1===arguments.length)return v.utils.domData.get(this.domElement,n+e);v.utils.domData.set(this.domElement,n+e,arguments[1])};var i=v.utils.domData.nextKey();v.templateSources.domElement.prototype.nodes=function(){var n=this.domElement;if(0==arguments.length){return e(n).containerData||(3===this.templateType?n.content:4===this.templateType?n:s)}t(n,{containerData:arguments[0]})},v.templateSources.anonymousTemplate=function(e){this.domElement=e},v.templateSources.anonymousTemplate.prototype=new v.templateSources.domElement,v.templateSources.anonymousTemplate.prototype.constructor=v.templateSources.anonymousTemplate,v.templateSources.anonymousTemplate.prototype.text=function(){if(0==arguments.length){var n=e(this.domElement);return n.textData===s&&n.containerData&&(n.textData=n.containerData.innerHTML),n.textData}var i=arguments[0];t(this.domElement,{textData:i})},v.exportSymbol("templateSources",v.templateSources),v.exportSymbol("templateSources.domElement",v.templateSources.domElement),v.exportSymbol("templateSources.anonymousTemplate",v.templateSources.anonymousTemplate)}(),function(){function e(e,t,n){for(var i,r=e,o=v.virtualElements.nextSibling(t);r&&(i=r)!==o;)r=v.virtualElements.nextSibling(i),n(i,r)}function t(t,n){if(t.length){var i=t[0],r=t[t.length-1],o=i.parentNode,s=v.bindingProvider.instance,a=s.preprocessNode;if(a){if(e(i,r,function(e,t){var n=e.previousSibling,o=a.call(s,e);o&&(e===i&&(i=o[0]||t),e===r&&(r=o[o.length-1]||n))}),t.length=0,!i)return;i===r?t.push(i):(t.push(i,r),v.utils.fixUpContinuousNodeArray(t,o))}e(i,r,function(e){1!==e.nodeType&&8!==e.nodeType||v.applyBindings(n,e)}),e(i,r,function(e){1!==e.nodeType&&8!==e.nodeType||v.memoization.unmemoizeDomNodeAndDescendants(e,[n])}),v.utils.fixUpContinuousNodeArray(t,o)}}function n(e){return e.nodeType?e:e.length>0?e[0]:null}function i(e,i,r,o,s){s=s||{};var l=e&&n(e),u=(l||r||{}).ownerDocument,c=s.templateEngine||a;v.templateRewriting.ensureTemplateIsRewritten(r,c,u);var d=c.renderTemplate(r,o,s,u);if("number"!=typeof d.length||d.length>0&&"number"!=typeof d[0].nodeType)throw new Error("Template engine must return an array of DOM nodes");var p=!1;switch(i){case"replaceChildren":v.virtualElements.setDomNodeChildren(e,d),p=!0;break;case"replaceNode":v.utils.replaceDomNodes(e,d),p=!0;break;case"ignoreTargetNode":break;default:throw new Error("Unknown renderMode: "+i)}return p&&(t(d,o),s.afterRender&&v.dependencyDetection.ignore(s.afterRender,null,[d,o.$data])),d}function r(e,t,n){return v.isObservable(e)?e():"function"==typeof e?e(t,n):e}function o(e,t){var n=v.utils.domData.get(e,l);n&&"function"==typeof n.dispose&&n.dispose(),v.utils.domData.set(e,l,t&&t.isActive()?t:s)}var a;v.setTemplateEngine=function(e){if(e!=s&&!(e instanceof v.templateEngine))throw new Error("templateEngine must inherit from ko.templateEngine");a=e},v.renderTemplate=function(e,t,o,l,u){if(o=o||{},(o.templateEngine||a)==s)throw new Error("Set a template engine before calling renderTemplate");if(u=u||"replaceChildren",l){var c=n(l),d=function(){return!c||!v.utils.domNodeIsAttachedToDocument(c)},p=c&&"replaceNode"==u?c.parentNode:c;return v.dependentObservable(function(){var s=t&&t instanceof v.bindingContext?t:new v.bindingContext(t,null,null,null,{exportDependencies:!0}),a=r(e,s.$data,s),d=i(l,u,a,s,o);"replaceNode"==u&&(l=d,c=n(l))},null,{disposeWhen:d,disposeWhenNodeIsRemoved:p})}return v.memoization.memoize(function(n){v.renderTemplate(e,t,o,n,"replaceNode")})},v.renderTemplateForEach=function(e,n,o,a,l){var u,c=function(t,n){return u=l.createChildContext(t,o.as,function(e){e.$index=n}),i(null,"ignoreTargetNode",r(e,t,u),u,o)},d=function(e,n,i){t(n,u),o.afterRender&&o.afterRender(n,e),u=null};return v.dependentObservable(function(){var e=v.utils.unwrapObservable(n)||[];void 0===e.length&&(e=[e]);var t=v.utils.arrayFilter(e,function(e){return o.includeDestroyed||e===s||null===e||!v.utils.unwrapObservable(e._destroy)});v.dependencyDetection.ignore(v.utils.setDomNodeChildrenFromArrayMapping,null,[a,t,c,o,d])},null,{disposeWhenNodeIsRemoved:a})};var l=v.utils.domData.nextKey();v.bindingHandlers.template={init:function(e,t){var n=v.utils.unwrapObservable(t());if("string"==typeof n||n.name)v.virtualElements.emptyNode(e);else if("nodes"in n){var i=n.nodes||[];if(v.isObservable(i))throw new Error('The "nodes" option must be a plain, non-observable array.');var r=v.utils.moveCleanedNodesToContainerElement(i);new v.templateSources.anonymousTemplate(e).nodes(r)}else{var o=v.virtualElements.childNodes(e),r=v.utils.moveCleanedNodesToContainerElement(o);new v.templateSources.anonymousTemplate(e).nodes(r)}return{controlsDescendantBindings:!0}},update:function(e,t,n,i,r){var s,a=t(),l=v.utils.unwrapObservable(a),u=!0,c=null;if("string"==typeof l?(s=a,l={}):(s=l.name,"if"in l&&(u=v.utils.unwrapObservable(l.if)),u&&"ifnot"in l&&(u=!v.utils.unwrapObservable(l.ifnot))),"foreach"in l){var d=u&&l.foreach||[];c=v.renderTemplateForEach(s||e,d,l,e,r)}else if(u){var p="data"in l?r.createStaticChildContext(l.data,l.as):r;c=v.renderTemplate(s||e,p,l,e)}else v.virtualElements.emptyNode(e);o(e,c)}},v.expressionRewriting.bindingRewriteValidators.template=function(e){var t=v.expressionRewriting.parseObjectLiteral(e);return 1==t.length&&t[0].unknown?null:v.expressionRewriting.keyValueArrayContainsKey(t,"name")?null:"This template engine does not support anonymous templates nested within its templates"},v.virtualElements.allowedBindings.template=!0}(),v.exportSymbol("setTemplateEngine",v.setTemplateEngine),v.exportSymbol("renderTemplate",v.renderTemplate),v.utils.findMovesInArrayComparison=function(e,t,n){if(e.length&&t.length){var i,r,o,s,a;for(i=r=0;(!n||i0&&(v.utils.replaceDomNodes(o,s),i&&v.dependencyDetection.ignore(i,null,[n,s,r])),o.length=0,v.utils.arrayPushAll(o,s)},null,{disposeWhenNodeIsRemoved:e,disposeWhen:function(){return!v.utils.anyDomNodeIsAttachedToDocument(o)}});return{mappedNodes:o,dependentObservable:a.isActive()?a:s}}var t=v.utils.domData.nextKey(),n=v.utils.domData.nextKey();v.utils.setDomNodeChildrenFromArrayMapping=function(i,r,o,a,l){function u(e,t){d=g[t],x!==t&&(D[e]=d),d.indexObservable(x++),v.utils.fixUpContinuousNodeArray(d.mappedNodes,i),b.push(d),T.push(d)}function c(e,t){if(e)for(var n=0,i=t.length;n=0)return 2}catch(e){}return 1}();this.renderTemplateSource=function(n,i,r,o){o=o||l,r=r||{},e();var s=n.data("precompiled");if(!s){var a=n.text()||"";a="{{ko_with $item.koBindingContext}}"+a+"{{/ko_with}}",s=c.template(null,a),n.data("precompiled",s)}var u=[i.$data],d=c.extend({koBindingContext:i},r.templateOptions),p=t(s,u,d);return p.appendTo(o.createElement("div")),c.fragments={},p},this.createJavaScriptEvaluatorBlock=function(e){return"{{ko_code ((function() { return "+e+" })()) }}"},this.addTemplate=function(e,t){l.write(" + + + + + +
+ + + diff --git a/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/reports/webpack-bundle-analyzer/stats.json b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/reports/webpack-bundle-analyzer/stats.json new file mode 100644 index 0000000..9cf2eb5 --- /dev/null +++ b/src/main/resources/org/chrisle/netbeans/plugins/nbscratchfile/ui/reports/webpack-bundle-analyzer/stats.json @@ -0,0 +1,6477 @@ +{ + "errors": [ + ], + "warnings": [ + ], + "version": "4.12.1", + "hash": "ff456f8608c5d65b2f8b", + "time": 13881, + "builtAt": 1529926720292, + "publicPath": "/", + "outputPath": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\dist", + "assetsByChunkName": { + "main": [ + "app.js", + "app.js.map" + ] + }, + "assets": [ + { + "name": "app.js", + "size": 101214, + "chunks": [ + 0 + ], + "chunkNames": [ + "main" + ], + "emitted": true + } + ], + "filteredAssets": 0, + "entrypoints": { + "main": { + "chunks": [ + 0 + ], + "assets": [ + "app.js", + "app.js.map" + ], + "children": { + }, + "childAssets": { + } + } + }, + "namedChunkGroups": { + "main": { + "chunks": [ + 0 + ], + "assets": [ + "app.js", + "app.js.map" + ], + "children": { + }, + "childAssets": { + } + } + }, + "chunks": [ + { + "id": 0, + "rendered": true, + "initial": true, + "entry": true, + "size": 337367, + "names": [ + "main" + ], + "files": [ + "app.js", + "app.js.map" + ], + "hash": "628794dea23f6f75c920", + "siblings": [ + ], + "parents": [ + ], + "children": [ + ], + "childrenByOrder": { + }, + "modules": [ + { + "id": 0, + "identifier": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\vue\\dist\\vue.runtime.esm.js", + "name": "./node_modules/vue/dist/vue.runtime.esm.js", + "index": 1, + "index2": 4, + "size": 211990, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "issuer": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\babel-loader\\lib\\index.js!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\ts-loader\\index.js??ref--1-1!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\app\\main.ts", + "issuerId": 34, + "issuerName": "./app/main.ts", + "issuerPath": [ + { + "id": 34, + "identifier": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\babel-loader\\lib\\index.js!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\ts-loader\\index.js??ref--1-1!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\app\\main.ts", + "name": "./app/main.ts" + } + ], + "failed": false, + "errors": 0, + "warnings": 0, + "assets": [ + ], + "reasons": [ + { + "moduleId": 1, + "moduleIdentifier": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\vue-class-component\\dist\\vue-class-component.common.js", + "module": "./node_modules/vue-class-component/dist/vue-class-component.common.js", + "moduleName": "./node_modules/vue-class-component/dist/vue-class-component.common.js", + "type": "cjs require", + "userRequest": "vue", + "loc": "12:26-40" + }, + { + "moduleId": 6, + "moduleIdentifier": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\babel-loader\\lib\\index.js!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\ts-loader\\index.js??ref--1-1!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\app\\components\\LanguageTypeListComponent.vue?vue&type=script&lang=ts", + "module": "./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--1-1!./node_modules/vue-loader/lib??vue-loader-options!./app/components/LanguageTypeListComponent.vue?vue&type=script&lang=ts", + "moduleName": "./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--1-1!./node_modules/vue-loader/lib??vue-loader-options!./app/components/LanguageTypeListComponent.vue?vue&type=script&lang=ts", + "type": "cjs require", + "userRequest": "vue", + "loc": "22:12-26" + }, + { + "moduleId": 9, + "moduleIdentifier": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\babel-loader\\lib\\index.js!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\ts-loader\\index.js??ref--1-1!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\app\\components\\LanguageSearchFieldComponent.vue?vue&type=script&lang=ts", + "module": "./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--1-1!./node_modules/vue-loader/lib??vue-loader-options!./app/components/LanguageSearchFieldComponent.vue?vue&type=script&lang=ts", + "moduleName": "./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--1-1!./node_modules/vue-loader/lib??vue-loader-options!./app/components/LanguageSearchFieldComponent.vue?vue&type=script&lang=ts", + "type": "cjs require", + "userRequest": "vue", + "loc": "22:12-26" + }, + { + "moduleId": 11, + "moduleIdentifier": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\babel-loader\\lib\\index.js!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\ts-loader\\index.js??ref--1-1!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\app\\App.vue?vue&type=script&lang=ts", + "module": "./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--1-1!./node_modules/vue-loader/lib??vue-loader-options!./app/App.vue?vue&type=script&lang=ts", + "moduleName": "./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--1-1!./node_modules/vue-loader/lib??vue-loader-options!./app/App.vue?vue&type=script&lang=ts", + "type": "cjs require", + "userRequest": "vue", + "loc": "22:12-26" + }, + { + "moduleId": 13, + "moduleIdentifier": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\vue-property-decorator\\lib\\vue-property-decorator.js", + "module": "./node_modules/vue-property-decorator/lib/vue-property-decorator.js", + "moduleName": "./node_modules/vue-property-decorator/lib/vue-property-decorator.js", + "type": "harmony side effect evaluation", + "userRequest": "vue", + "loc": "3:0-22" + }, + { + "moduleId": 13, + "moduleIdentifier": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\vue-property-decorator\\lib\\vue-property-decorator.js", + "module": "./node_modules/vue-property-decorator/lib/vue-property-decorator.js", + "moduleName": "./node_modules/vue-property-decorator/lib/vue-property-decorator.js", + "type": "harmony export imported specifier", + "userRequest": "vue", + "loc": "6:0-26" + }, + { + "moduleId": 34, + "moduleIdentifier": "C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\babel-loader\\lib\\index.js!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\node_modules\\ts-loader\\index.js??ref--1-1!C:\\Projekte\\Netbeans Plugins\\NbScratchFile\\src\\main\\resources\\org\\chrisle\\netbeans\\plugins\\nbscratchfile\\ui\\app\\main.ts", + "module": "./app/main.ts", + "moduleName": "./app/main.ts", + "type": "cjs require", + "userRequest": "vue", + "loc": "4:12-26" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [ + "ModuleConcatenation bailout: Module uses injected variables (global, setImmediate)" + ], + "depth": 1, + "source": "/*!\n * Vue.js v2.5.16\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value e.g. [object Object]\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\n\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured'\n];\n\n/* */\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false && isObject(value) && ('@binding' in value))\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function () {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\n })\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.