/* DIY组件：Searchbar


*/
var Parse = getApp().Parse;
var Nova = getApp().Nova;
Component({
    behaviors: [],

    // 属性定义（详情参见下文）
    properties: {
        options: null,
    },

    data: {
        list: [],
    }, // 私有数据，可用于模板渲染

    lifetimes: {
        // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
        attached: function () {
            console.log("diy-icongroup", this.data);
        },
        moved: function () { },
        detached: function () { },
    },
    ready: function () {
        // 在组件布局完成后执行，确保options参数中有data信息
        console.log("ready");
        this.loadData();
    },
    pageLifetimes: {
        // 组件所在页面的生命周期函数
        show: function () { },
        hide: function () { },
        resize: function () { },
    },

    methods: {
        /*********************************
         * 重要方法：加载数据
         * ******************************/
        async loadData() {
            await Nova.checkComponentsDataProperties(this);
            let list = await Nova.getBlockData(this.data.options.data);

            let { options } = this.data;
            console.log("图标组", options);
            console.log(list);
            let { data, src, style } = options;
            let { className, filter } = data;
            this.setData({
                list,
                style,
                className,
                filter,
            });
        },
        /*********************************
         * 重要方法：链接跳转
         * ******************************/
        goNovaURL: async function (ev) {
            let item = ev.currentTarget.dataset.item;
            let url = "";
            if (item.url) {
                console.log(item.url);
                if (item.name) {
                    url = item.url + '?title=' + item.name;
                } else {
                    url = item.url
                }
                Nova.goNovaURL(url);
                return;
            }
            if (item.type == "shop") {
                url = `/nova-shop/pages/shop-list/index?title=${item.name}&cid=${item.objectId}`;
            } else if (item.type == "article") {
                let Article = new Parse.Query("Article");
                Article.select('objectId')
                Article.equalTo("category", item.objectId);
                let articles = await Article.find();
                if (articles && articles.length == 1) {
                    url = `/common-page/pages/cates/article-detail/index?title=${item.name}&aid=${articles[0].objectId}`;
                } else if (articles && articles.length > 1) {
                    url = `/common-page/pages/cates/article-list/index?title=${item.name}&cid=${item.objectId}`;
                }
            }
            Nova.goNovaURL(url);
        },
    },
});