zoukankan      html  css  js  c++  java
  • leanote使用本地账户时,去掉待同步的小红点

    切换开发者工具,如下图,点击左上角的箭头图标,选取元素,直接选择小红点。 

    然后会看到小红点来自于resources/app/public/themes/default.css文件中2092行:

    .item-dirty:after,.item-err:after,.nb-dirty:after,.nb-new:after {
        content: "";
        width: 7px;
        height: 7px;
        background: #FF6363;
        border-radius: 50%;
        position: absolute
    }

    开发工具可动态选择样式是否生效,点击复选框中的勾即可。 
    然后整个leanote项目中grep 'item-dirty',找到调用的地方。

    当然这里直接修改default.css文件去掉background: #FF6363;也能达到不显示小红点的效果。但是实际上还在,只是看不见而已。 
    搜索结果发现是在resources/app/public/js/app/note.jsNote.setNoteDirty函数和Note._renderNotes函数。setNoteDirty函数在创建笔记的时候调用,_renderNotes函数在笔记列表发生变化时或者初次加载时调用。

    Note.setNoteDirty = function(noteId, isDirty) {
        console.trace('setNoteDirty');
        var $leftNoteNav = $(tt('#noteItemList [noteId="?"]', noteId));
        if (!isDirty) {
            $leftNoteNav.removeClass('item-err');
        }
        this.setNoteCache({ NoteId: noteId, IsDirty: isDirty }, false);
        isDirty ? $leftNoteNav.addClass('item-dirty') : $leftNoteNav.removeClass('item-dirty');
        }
    };
    Note._renderNotes= function(...) {
        if (note.IsDirty || note.IsNew) {
            classes += " item-dirty";
        }
    ...
    }

    那么修改就是判断当前若是本地账户,就不添加item-dirty样式了。正好该js文件中有个UserInfo.isLocal变量可以判断当前用户是否本地:

    if (note.IsDirty || note.IsNew) {
        console.log("UserInfo.IsLocal:"+UserInfo.IsLocal);
        if(!UserInfo.IsLocal) { //非本地账户账户才显示dirty图标(红色小圆点)added by wangyong 20171107
        classes += " item-dirty";
        }
    }

    这里提醒一下,查看源码过程中发现isDirty这个布尔值决定了是否显示小红点,但是修改的时候不要直接去改isDirty这个布尔值,源代码可能基于这个值做了其他数据上的冲突、hash检测等等事情。我们仅在css样式层面修改就很安全。

    同样的方式可以去掉笔记本上的小红点。笔记本的小红点样式为nb-dirty nb-new,调用的地方在resources/app/public/js/jquery.ztree.all-3.5.js中,该js中没有现成的UserInfo可用,因此直接注释掉了以下代码……

    if (node.IsDirty) {
        classes += "nb-dirty "
    }
    if (node.IsNew) {
        classes += "nb-new ";
    }

    我也是瞎折腾。。。

  • 相关阅读:
    201671010112 第十四周 Swing用户界面组件
    201671010112 第十二周
    201671010112 第十二周—— “如何在eclipse中重定向标准输入到文件?”整理方案
    201671010112 第十一周
    201671010112 第十周
    201671010112 第九周
    201671010112 第八周
    201671010112 第六周
    面向对象的程序设计课程进度
    201671010111 2016-2017-2《面向对象的程序设计》 java学习总结
  • 原文地址:https://www.cnblogs.com/duanguyuan/p/7806596.html
Copyright © 2011-2022 走看看