<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <!-- <link rel="stylesheet" type="text/css" href="../dist/2.0/fineui.min.css"/>
    <script src="../dist/2.0/fineui.js"></script> -->
    <link rel="stylesheet" type="text/css" href="http://fanruan.design/fineui/2.0/fineui.min.css"/>
    <script src="http://fanruan.design/fineui/2.0/fineui.min.js"></script>
</head>
<body>
<div id="wrapper"></div>
<script>
    // tab上下文环境测试
    var Model = BI.inherit(BI.Model, {
        state: function () {
            return {
                expand: false
            };
        },
        childContext: ["text"],

        computed: {
            text: function () {
                return this.model.expand ? "text-yes" : "text-not";
            }
        },

        actions: {
            toggle: function () {
                this.model.expand = !this.model.expand;
            }
        }
    });
    BI.model("demo.model", Model);

    var Child = BI.inherit(BI.Widget, {
        render: function () {
            var label;
            var context = BI.useContext();
            setInterval(function () {
                context.toggle();
            }, 1000);
            // BI.watch(context, "expand", function () {
            //     label.setText(context.model.text);
            // });
            return {
                type: "bi.label",
                ref: function (_ref) {
                    label = _ref;
                },
                effect: function (w) {
                    w.setText(context.model.text);
                },
                text: function () {
                    return context.model.text;
                }
            };
        }
    });
    BI.shortcut("demo.child", Child);

    var Widget = BI.inherit(BI.Widget, {
        _store: function () {
            return BI.Models.getModel("demo.model");
        },
        setup: function () {
            var child;
            var store = BI.useStore();
            return function () {
                return {
                    type: "bi.vertical",
                    vgap: 20,
                    items: [{
                        type: "demo.child",
                        ref: function (_ref) {
                            child = _ref;
                        }
                    }]
                };
            };
        }
    });
    BI.shortcut("demo.parent", Widget);
    BI.createWidget({
        type: "bi.absolute",
        items: [{
            el: {
                type: "demo.parent"
            },
            top: 100,
            left: 100
        }],
        element: "#wrapper"
    });
</script>
</body>
</html>