[SSE] Show user's cursor on co-editing
This commit is contained in:
		
							parent
							
								
									26b2384ba1
								
							
						
					
					
						commit
						246295386b
					
				| 
						 | 
					@ -114,6 +114,8 @@ define([
 | 
				
			||||||
            me._currentParaObjDisabled = false;
 | 
					            me._currentParaObjDisabled = false;
 | 
				
			||||||
            me._isDisabled = false;
 | 
					            me._isDisabled = false;
 | 
				
			||||||
            me._state = {};
 | 
					            me._state = {};
 | 
				
			||||||
 | 
					            me.fastcoauthtips = [];
 | 
				
			||||||
 | 
					            me._TtHeight = 20;
 | 
				
			||||||
            /** coauthoring begin **/
 | 
					            /** coauthoring begin **/
 | 
				
			||||||
            this.wrapEvents = {
 | 
					            this.wrapEvents = {
 | 
				
			||||||
                apiHideComment: _.bind(this.onApiHideComment, this)
 | 
					                apiHideComment: _.bind(this.onApiHideComment, this)
 | 
				
			||||||
| 
						 | 
					@ -332,6 +334,9 @@ define([
 | 
				
			||||||
                this.api.asc_registerCallback('asc_onTableTotalMenu', _.bind(this.onTableTotalMenu, this));
 | 
					                this.api.asc_registerCallback('asc_onTableTotalMenu', _.bind(this.onTableTotalMenu, this));
 | 
				
			||||||
                this.api.asc_registerCallback('asc_onShowPivotGroupDialog', _.bind(this.onShowPivotGroupDialog, this));
 | 
					                this.api.asc_registerCallback('asc_onShowPivotGroupDialog', _.bind(this.onShowPivotGroupDialog, this));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            this.api.asc_registerCallback('asc_onShowForeignCursorLabel',       _.bind(this.onShowForeignCursorLabel, this));
 | 
				
			||||||
 | 
					            this.api.asc_registerCallback('asc_onHideForeignCursorLabel',       _.bind(this.onHideForeignCursorLabel, this));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return this;
 | 
					            return this;
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1129,17 +1134,6 @@ define([
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                // show tooltips
 | 
					                // show tooltips
 | 
				
			||||||
                /** coauthoring begin **/
 | 
					 | 
				
			||||||
                var getUserName = function(id){
 | 
					 | 
				
			||||||
                    var usersStore = SSE.getCollection('Common.Collections.Users');
 | 
					 | 
				
			||||||
                    if (usersStore){
 | 
					 | 
				
			||||||
                        var rec = usersStore.findUser(id);
 | 
					 | 
				
			||||||
                        if (rec)
 | 
					 | 
				
			||||||
                            return AscCommon.UserInfoParser.getParsedName(rec.get('username'));
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    return me.guestText;
 | 
					 | 
				
			||||||
                };
 | 
					 | 
				
			||||||
                /** coauthoring end **/
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (index_hyperlink) {
 | 
					                if (index_hyperlink) {
 | 
				
			||||||
                    if (!hyperlinkTip.parentEl) {
 | 
					                    if (!hyperlinkTip.parentEl) {
 | 
				
			||||||
| 
						 | 
					@ -1305,7 +1299,7 @@ define([
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            if (showPoint[1] >= coAuthTip.XY[1] &&
 | 
					                            if (showPoint[1] >= coAuthTip.XY[1] &&
 | 
				
			||||||
                                showPoint[1] + coAuthTip.ttHeight < coAuthTip.XY[1] + coAuthTip.apiHeight) {
 | 
					                                showPoint[1] + coAuthTip.ttHeight < coAuthTip.XY[1] + coAuthTip.apiHeight) {
 | 
				
			||||||
                                src.text(getUserName(data.asc_getUserId()));
 | 
					                                src.text(me.getUserName(data.asc_getUserId()));
 | 
				
			||||||
                                if (coAuthTip.bodyWidth - showPoint[0] < coAuthTip.ref.width() ) {
 | 
					                                if (coAuthTip.bodyWidth - showPoint[0] < coAuthTip.ref.width() ) {
 | 
				
			||||||
                                    src.css({
 | 
					                                    src.css({
 | 
				
			||||||
                                        visibility  : 'visible',
 | 
					                                        visibility  : 'visible',
 | 
				
			||||||
| 
						 | 
					@ -3618,6 +3612,66 @@ define([
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        onShowForeignCursorLabel: function(UserId, X, Y, color) {
 | 
				
			||||||
 | 
					            /** coauthoring begin **/
 | 
				
			||||||
 | 
					            var src;
 | 
				
			||||||
 | 
					            var me = this;
 | 
				
			||||||
 | 
					            for (var i=0; i<me.fastcoauthtips.length; i++) {
 | 
				
			||||||
 | 
					                if (me.fastcoauthtips[i].attr('userid') == UserId) {
 | 
				
			||||||
 | 
					                    src = me.fastcoauthtips[i];
 | 
				
			||||||
 | 
					                    break;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!src) {
 | 
				
			||||||
 | 
					                src = $(document.createElement("div"));
 | 
				
			||||||
 | 
					                src.addClass('username-tip');
 | 
				
			||||||
 | 
					                src.attr('userid', UserId);
 | 
				
			||||||
 | 
					                src.css({height: me._TtHeight + 'px', position: 'absolute', zIndex: '900', display: 'none', 'pointer-events': 'none',
 | 
				
			||||||
 | 
					                    'background-color': '#'+Common.Utils.ThemeColor.getHexColor(color.get_r(), color.get_g(), color.get_b())});
 | 
				
			||||||
 | 
					                src.text(me.getUserName(UserId));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                src.css({
 | 
				
			||||||
 | 
					                    height      : coAuthTip.ttHeight + 'px',
 | 
				
			||||||
 | 
					                    position    : 'absolute',
 | 
				
			||||||
 | 
					                    zIndex      : '900',
 | 
				
			||||||
 | 
					                    visibility  : 'visible'
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					                $(document.body).append(src);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                $('#editor_sdk').append(src);
 | 
				
			||||||
 | 
					                me.fastcoauthtips.push(src);
 | 
				
			||||||
 | 
					                src.fadeIn(150);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            src.css({top: (Y-me._TtHeight) + 'px', left: X + 'px'});
 | 
				
			||||||
 | 
					            /** coauthoring end **/
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        onHideForeignCursorLabel: function(UserId) {
 | 
				
			||||||
 | 
					            var me = this;
 | 
				
			||||||
 | 
					            for (var i=0; i<me.fastcoauthtips.length; i++) {
 | 
				
			||||||
 | 
					                if (me.fastcoauthtips[i].attr('userid') == UserId) {
 | 
				
			||||||
 | 
					                    var src = me.fastcoauthtips[i];
 | 
				
			||||||
 | 
					                    me.fastcoauthtips[i].fadeOut(150, function(){src.remove()});
 | 
				
			||||||
 | 
					                    me.fastcoauthtips.splice(i, 1);
 | 
				
			||||||
 | 
					                    break;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        getUserName: function(id){
 | 
				
			||||||
 | 
					            var usersStore = SSE.getCollection('Common.Collections.Users');
 | 
				
			||||||
 | 
					            if (usersStore){
 | 
				
			||||||
 | 
					                var rec = usersStore.findUser(id);
 | 
				
			||||||
 | 
					                if (rec)
 | 
				
			||||||
 | 
					                    return AscCommon.UserInfoParser.getParsedName(rec.get('username'));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return this.guestText;
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        SetDisabled: function(state, canProtect) {
 | 
					        SetDisabled: function(state, canProtect) {
 | 
				
			||||||
            this._isDisabled = state;
 | 
					            this._isDisabled = state;
 | 
				
			||||||
            this._canProtect = canProtect;
 | 
					            this._canProtect = canProtect;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue