⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serial.menu.js

📁 一个ajax富客户端的ajax类库
💻 JS
字号:
ExtrasSerial.PropertyTranslator.ItemModel = {

    _parseIcon: function(client, propertyElement) {
        var icon = WebCore.DOM.getChildElementByTagName(propertyElement, "icon");
        if (icon) {
            return EchoSerial.PropertyTranslator.ImageReference.toProperty(client, icon);
        }
        return null;
    },
    
    toProperty: function(client, propertyElement) {
        var type = propertyElement.getAttribute("t");
        if (type.indexOf(ExtrasSerial.PROPERTY_TYPE_PREFIX) == 0) {
            type = type.substring(ExtrasSerial.PROPERTY_TYPE_PREFIX.length);
        }
        var translator = ExtrasSerial.PropertyTranslator[type];
          if (translator) {
              return translator.toProperty(client, propertyElement);
        } else {
            throw new Error("Unsupported model type: " + type);
        }
    }
};

ExtrasSerial.PropertyTranslator.MenuModel = {

    toProperty: function(client, propertyElement) {
        var id = propertyElement.getAttribute("id");
        var text = propertyElement.getAttribute("text");
        var icon = ExtrasSerial.PropertyTranslator.ItemModel._parseIcon(client, propertyElement);
        var model = new ExtrasApp.MenuModel(id, text, icon);
        
        var children = WebCore.DOM.getChildElementsByTagName(propertyElement, "item");
        for (var i = 0; i < children.length; i++) {
            var childElement = children[i];
            var subModel = ExtrasSerial.PropertyTranslator.ItemModel.toProperty(client, childElement);
            model.addItem(subModel);
       }
       return model;
    }
};

ExtrasSerial.PropertyTranslator.OptionModel = {

    toProperty: function(client, propertyElement) {
        var id = propertyElement.getAttribute("id");
        var text = propertyElement.getAttribute("text");
        var icon = ExtrasSerial.PropertyTranslator.ItemModel._parseIcon(client, propertyElement);
        return new ExtrasApp.OptionModel(id, text, icon);
    }
};

ExtrasSerial.PropertyTranslator.RadioOptionModel = {

    toProperty: function(client, propertyElement) {
        var id = propertyElement.getAttribute("id");
        var text = propertyElement.getAttribute("text");
        var icon = ExtrasSerial.PropertyTranslator.ItemModel._parseIcon(client, propertyElement);
        return new ExtrasApp.RadioOptionModel(id, text, icon);
    }
};

ExtrasSerial.PropertyTranslator.ToggleOptionModel = {

    toProperty: function(client, propertyElement) {
        var id = propertyElement.getAttribute("id");
        var text = propertyElement.getAttribute("text");
        var icon = ExtrasSerial.PropertyTranslator.ItemModel._parseIcon(client, propertyElement);
        return new ExtrasApp.ToggleOptionModel(id, text, icon);
    }
};

ExtrasSerial.PropertyTranslator.SeparatorModel = {

    toProperty: function(client, propertyElement) {
        return new ExtrasApp.SeparatorModel();
    }
};

ExtrasSerial.PropertyTranslator.MenuStateModel = {

    toProperty: function(client, propertyElement) {
        var stateModel = new ExtrasApp.MenuStateModel();
        var children = WebCore.DOM.getChildElementsByTagName(propertyElement, "i");
        for (var i = 0; i < children.length; i++) {
            var childElement = children[i];
            var enabledValue = childElement.getAttribute("enabled");
            if (enabledValue != null) {
                stateModel.setEnabled(childElement.getAttribute("id"), enabledValue == "true");
            }
            var selectedValue = childElement.getAttribute("selected");
            if (selectedValue != null) {
                stateModel.setSelected(childElement.getAttribute("id"), selectedValue == "true");
            }
        }
        return stateModel;
    }
};

EchoSerial.addPropertyTranslator("ExtrasSerial.MenuModel", ExtrasSerial.PropertyTranslator.MenuModel);
EchoSerial.addPropertyTranslator("ExtrasSerial.OptionModel", ExtrasSerial.PropertyTranslator.OptionModel);
EchoSerial.addPropertyTranslator("ExtrasSerial.RadioOptionModel", ExtrasSerial.PropertyTranslator.RadioOptionModel);
EchoSerial.addPropertyTranslator("ExtrasSerial.ToggleOptionModel", ExtrasSerial.PropertyTranslator.ToggleOptionModel);
EchoSerial.addPropertyTranslator("ExtrasSerial.SeparatorModel", ExtrasSerial.PropertyTranslator.SeparatorModel);
EchoSerial.addPropertyTranslator("ExtrasSerial.MenuStateModel", ExtrasSerial.PropertyTranslator.MenuStateModel);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -