news-20071022.js

来自「anewssystem新闻发布系统集成使用了spring hibernate f」· JavaScript 代码 · 共 684 行 · 第 1/2 页

JS
684
字号
        enctype:"multipart/form-data"
    });
    form.add(
        new Ext.form.TextField({
            id:'id',
            name:'id',
            inputType:'hidden',
            hidden:true
        })
    );

    form.column({width:400, labelWidth:75});
    form.fieldset(
        {legend:'基本信息', hideLabels:false},

        new Ext.form.TextField({
            id:'name',
            name:'name',
            allowBlank:false,
            fieldLabel:'新闻标题'
        })
/*
        , new Ext.form.TextField({
            id:'subtitle',
            name:'subtitle',
            fieldLabel:'副标题'
        })
*/
        , new Ext.lingo.TreeField({
            id:'category',
            name:'category',
            fieldLabel:'新闻分类',
            allowBlank:false,
            treeConfig:{
                title:'新闻分类',
                rootId:0,
                dataTag:'../newscategory/getChildren.htm',
                height:200,
                treeHeight:150
            }
        })

        , new Ext.form.TextField({
            id:'source',
            name:'source',
            fieldLabel:'来源',
            allowBlank:false,
            value:'东方之子'
        })

        , new Ext.form.TextField({
            id:'editor',
            name:'editor',
            fieldLabel:'编辑',
            allowBlank:false,
            value:'东方之子'
        })

        , new Ext.form.DateField({
            id:'updateDate',
            name:'updateDate',
            format:'Y-m-d',
            fieldLabel:'发布日期',
            allowBlank:false,
            readOnly:true,
            value:new Date()
        })

        , new Ext.form.TextField({
            id:'tags',
            name:'tags',
            fieldLabel:'关键字'
        })
    );
    form.end();

    form.column(
        {width:250, style:'margin-left:10px', clear:true}
    );

    form.fieldset(
        {id:'photo', legend:'图片', hideLabels:true}

        , new Ext.form.TextField({
            id:'image',
            name:'image',
            inputType:'file',
            width:100,
            fieldLabel:'图片'
        })
    );

    form.fieldset(
        {legend:'内容分页', hideLabels:false},
        new Ext.form.ComboBox({
            id:'pageValue',
            fieldLabel:'分页方式',
            hiddenName:'pageType',
            store: new Ext.data.SimpleStore({
                fields:['value', 'text'],
                data:[
                    ['0','不分页'],
                    ['1','自动分页'],
                    ['2','手工分页']
                ]
            }),
            value:0,
            displayField:'text',
            valueField:'value',
            typeAhead:true,
            mode:'local',
            triggerAction:'all',
            selectOnFocus:true,
            editable:false,
            width:100
        })

        , new Ext.form.TextField({
            id:'pageSize',
            name:'pageSize',
            width:100,
            fieldLabel:'分页字数',
            value:1000
        })
    );
    form.end();

    form.column(
        //{width:650, style:'margin-left:0px', clear:true, labelAlign: 'top'}
        {width:650, style:'margin-left:0px'}
    );
    form.fieldset(
        {legend:'简介', hideLabels:true},
        new Ext.form.TextArea({
            id:'summary',
            name:'summary',
            width:'100%'
        })
    );

    form.fieldset(
        {legend:'内容', hideLabels:true},
        new Ext.form.HtmlEditor({
            id:'content',
            name:'content',
            width:'100%',
            height:'40%'
        })
    );
    form.end();

    form.applyIfToFields({
        width:230
    });

    form.addButton('提交');
    form.addButton('保存到草稿箱');
    form.addButton('重置');

    form.buttons[0].addListener("click", function() {
        if (form.isValid()) {
            form.submit({
                success:function(){
                    form.reset();
                    Ext.MessageBox.alert("提示", "修改成功");
                }
            });
        }
    });

    form.buttons[1].addListener("click", function() {
        if (form.isValid()) {
            form.submit({
                params:{status:3},
                success:function(){
                    Ext.MessageBox.alert("提示", "修改成功");
                    lightGrid.grid.reload();
                }
            });
        }
    });

    form.buttons[2].addListener("click", function() {
        form.reset();
    });

    form.render('news-form');

    // 添加图片
    var photo = Ext.get('photo');
    var c = photo.createChild({
        tag:'center',
        cn:[{
            tag:'img',
            id:'imagePreview',
            src: '../images/no.jpg',
            style:'margin-bottom:5px;width:80px;height:80px;'
        },{
            tag:'div',
            id:'tip',
            style:'text-align:left;color:red;display:none;',
            html:'Firefox需要修改默认安全策略,才能预览本地图片:<br>1.在Firefox的地址栏中输入“about:config”<br>2.继续输入“security.checkloaduri”<br>3.双击下面列出来的一行文字,把它的值由true改为false'
        }]
    });

    var button = new Ext.Button(c, {
        text:'修改图片'
    });

    // 让input=file消失,然后漂浮到修改图片的按钮上面
    var imageField = Ext.get("image");
    if (document.all) {
        // ie
        imageField.setStyle({
            border:'medium none',
            position:'absolute',
            fontSize:'18px',
            left:'50px',
            top:'90px',
            opacity:'0.0'
        });
    } else {
        // firefox
        imageField.setStyle({
            border:'medium none',
            position:'absolute',
            fontSize:'18px',
            left:'-125px',
            top:'85px',
            opacity:'0.0'
        });
    }
    imageField.on('change', function(e) {
        var imagePath = e.target.value;
        var imageUrl = "file:///" + imagePath.replace(/\\/g, "/");
        if (document.all) {
            document.getElementById('imagePreview').src = imageUrl;
        } else {
            // document.getElementById("tip").style.display = 'block';
            document.getElementById('imagePreview').src = imageUrl;
        }
    });


    // ====
    // 处理添加和修改事件

    var grid = lightGrid.grid;
    // 取消双击修改
    grid.events["rowdblclick"].clearListeners();
    // 取消右键菜单
    grid.events["rowcontextmenu"].clearListeners();

    var addNews = function() {
        form.reset();
        document.getElementById('imagePreview').src = '../images/no.jpg';
        if (layout.getRegion('south').collapsed) {
            layout.getRegion('south').expand();
        }
    };

    var editNews = function() {

        var selections = lightGrid.grid.getSelections();
        if (selections.length == 0) {
            Ext.MessageBox.alert("提示", "请选择希望修改的记录!");
            return;
        } else if (selections.length != 1) {
            Ext.MessageBox.alert("提示", "只允许选择单行记录进行修改!");
            return;
        }

        var menuData = new Ext.data.Store({
            proxy      : new Ext.data.HttpProxy({url:lightGrid.urlLoadData + "?id=" + selections[0].id}),
            reader     : new Ext.data.JsonReader({},[
                'id',
                'name',
                'newsCategory',
                'summary',
                'content',
                'updateDate',
                'newsTags',
                'editor',
                'source',
                'image',
                'pageType',
                'pageSize']),
            remoteSort : false
        });

        menuData.on('load', function() {
            var id = menuData.getAt(0).data["id"];
            var name = menuData.getAt(0).data["name"];
            var newsCategory = menuData.getAt(0).data["newsCategory"];
            var summary = menuData.getAt(0).data["summary"];
            var content = menuData.getAt(0).data["content"];
            var updateDate = menuData.getAt(0).data["updateDate"];
            var newsTags = menuData.getAt(0).data["newsTags"];
            var editor = menuData.getAt(0).data["editor"];
            var source = menuData.getAt(0).data["source"];
            var image = menuData.getAt(0).data["image"];
            var pageType = menuData.getAt(0).data["pageType"];
            var pageSize = menuData.getAt(0).data["pageSize"];

            var tags = [];
            for (var i = 0; i < newsTags.length; i++) {
                tags.push(newsTags[i].name);
            }

            form.setValues([
                {id:'id',value:id},
                {id:'name',value:name},
                {id:'category',value:newsCategory==null ? '' : newsCategory.name},
                {id:'summary',value:summary},
                {id:'updateDate',value:updateDate},
                {id:'tags',value:tags.join(",")},
                {id:'content',value:content},
                {id:'editor',value:editor},
                {id:'source',value:source},
                //{id:'image',value:image},
                {id:'pageType',value:pageType},
                {id:'pageSize',value:pageSize}
            ]);
			document.getElementById("category_id").value = newsCategory.id;
            if (image == null || image == "") {
                document.getElementById('imagePreview').src = '../images/no.jpg';
            } else {
                document.getElementById('imagePreview').src = "../" + image;
            }

            if (layout.getRegion('south').collapsed) {
                layout.getRegion('south').expand();
            }
        });
        menuData.load();
    };

    lightGrid.toolbar.items.items[0].setHandler(addNews)
    lightGrid.toolbar.items.items[1].setHandler(editNews)
});

⌨️ 快捷键说明

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