blob: 84c37b9e4e8c24cf0ffd999909904a79ab4d475e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<library>
<class name="privateMessages" extends="view" height="$once{ parent.height }"
width="$once{ canvas.width - 276 }">
<attribute name="newMessageActive" value="false" type="boolean" />
<handler name="oninit">
this._Buttons._inbox.onclick.sendEvent(null);
</handler>
<method name="newMessage" args="userObject">
if (this.newMessageActive) {
this._newPrivateMessage.destroy();
}
new lz.newPrivateMessage(this,{
x:154,
refObj:this,
userObject:userObject,
width:this._table.width+8,
height:this.height-2
});
this.newMessageActive = true;
</method>
<view name="_status" width="152">
<simpleLabelRoundButton labelid="1207" y="5" width="142" x="5" height="22">
<handler name="onclick">
parent.parent.newMessage(null);
</handler>
<view resource="private_message_add_rsc" x="10" y="2"></view>
<labelTooltip labelid="1208"></labelTooltip>
</simpleLabelRoundButton>
</view>
<view name="_Buttons" width="152" y="35" layout="axis:y;spacing:2">
<attribute name="selectMenuItemObj" value="null" />
<method name="selectMenuItem" args="refObj">
if (this.selectMenuItemObj != null) {
this.selectMenuItemObj.selected = false;
this.selectMenuItemObj._text.setAttribute("bgcolor",0xEEF0EB);
}
this.selectMenuItemObj = refObj;
this.selectMenuItemObj.selected = true;
this.selectMenuItemObj._text.setAttribute("bgcolor",0xD3D3D3);
</method>
<method name="resetMenuItem">
this.selectMenuItemObj = null;
this._inbox.onclick.sendEvent(null);
</method>
<view name="_inbox" x="16" width="130">
<attribute name="selected" value="false" type="boolean" />
<handler name="onclick">
parent.parent._table.getInbox.doCall();
parent.selectMenuItem(this);
</handler>
<view resource="private_message_inbox_rsc" x="0" ></view>
<labelText x="20" name="_text" fontstyle="bold" labelid="1222" />
</view>
<view name="_send" x="16" width="130">
<attribute name="selected" value="false" type="boolean" />
<handler name="onclick">
parent.parent._table.getSend.doCall();
parent.selectMenuItem(this);
</handler>
<view resource="private_message_send_rsc" x="0" ></view>
<labelText x="20" name="_text" fontstyle="bold" labelid="1223" />
</view>
<view name="_trash" x="16" width="130">
<attribute name="selected" value="false" type="boolean" />
<handler name="onclick">
parent.parent._table.getTrash.doCall();
parent.selectMenuItem(this);
</handler>
<view resource="private_message_trash_rsc" x="0" ></view>
<labelText x="20" name="_text" fontstyle="bold" labelid="1224" />
</view>
<view height="1"></view>
<simpleLabelButton name="_addFolder" labelid="1258" width="142" x="5" height="22">
<handler name="onclick">
//this.setAttribute("enabled",false);
new lz.newPrivateMessageFolder(canvas,{refObj:this});
</handler>
<method name="sendReload">
parent._privateFolders.getPrivateMessageFoldersByUser.doCall();
</method>
<view resource="private_message_folder_add_rsc" x="10" y="2"></view>
<labelTooltip labelid="1259" />
</simpleLabelButton>
<view height="1"></view>
<view name="_privateFolders" layout="axis:y;spacing:1">
<handler name="oninit">
this.reload();
</handler>
<method name="reload">
this.getPrivateMessageFoldersByUser.doCall();
</method>
<method name="removeAll">
<![CDATA[
for (var eg in this.subviews) {
this.subviews[eg].destroy();
}
]]>
</method>
<!--
public List<PrivateMessageFolder> getPrivateMessageFoldersByUser(String SID)
-->
<netRemoteCallHib name="getPrivateMessageFoldersByUser" funcname="userservice.getPrivateMessageFoldersByUser"
remotecontext="$once{ canvas.thishib }" >
<attribute name="onlyUpdateDropDown" value="false" type="boolean"/>
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("getPrivateMessageFoldersByUser: ",value);
if (this.onlyUpdateDropDown) {
this.onlyUpdateDropDown = false;
parent.parent.parent._actionButtons._move.initItems(value);
} else {
parent.loadResult(value);
}
]]>
</handler>
</netRemoteCallHib>
<method name="loadPrivateMessage" args="privateMessageFolderId,refObj">
parent.selectMenuItem(refObj);
parent.parent._table.privateMessageFolderId = privateMessageFolderId;
parent.parent._table.getFolder.doCall();
</method>
<method name="deleteFolder" args="privateMessageFolderId,refObj">
if (parent.selectMenuItemObj == refObj) {
parent.parent.resetMenuItem();
}
this.deletePrivateMessageFolder.privateMessageFolderId = privateMessageFolderId;
this.deletePrivateMessageFolder.doCall();
</method>
<!--
Send update to drop down list of folder names
-->
<method name="updateConnectedFolderBox">
this.getPrivateMessageFoldersByUser.onlyUpdateDropDown = true;
this.getPrivateMessageFoldersByUser.doCall();
</method>
<!--
public Long deletePrivateMessageFolder(String SID, Long privateMessageFolderId, String folderName)
-->
<netRemoteCallHib name="deletePrivateMessageFolder" funcname="userservice.deletePrivateMessageFolder"
remotecontext="$once{ canvas.thishib }" >
<attribute name="privateMessageFolderId" value="0" type="number"/>
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return parent.privateMessageFolderId; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("deletePrivateMessageFolder: ",value);
parent.reload();
]]>
</handler>
</netRemoteCallHib>
<method name="loadResult" args="tList">
<![CDATA[
this.removeAll();
for (var i=0;i<tList.length;i++) {
new lz.privateMessageFolder(this,{
privateMessageFolderId:tList[i].privateMessageFolderId,
folderName:tList[i].folderName
});
}
parent.parent._actionButtons._move.initItems(tList);
]]>
</method>
</view>
</view>
<view height="$once{ parent.height }" width="1" x="154"
bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }"></view>
<labelText name="_labelPrivateMessages" x="160" labelid="1206" fontstyle="bold" />
<turnOverListOrderedPaged name="_table" showTopBar="true" x="158"
height="250" width="$once{ parent.width-160 }"
y="24" itemHeight="20" listLabelId="1237" headerHeight="22"
listItemName="privateMessagItem" menuBarXIndent="80"
multiselect="true" orderby="c.inserted">
<attribute name="countUnRead" value="0" type="number" />
<attribute name="isInbox" value="false" type="boolean" />
<attribute name="isSend" value="false" type="boolean" />
<attribute name="isTrash" value="false" type="boolean" />
<attribute name="isFolder" value="false" type="boolean" />
<attribute name="privateMessageFolderId" value="0" type="number" />
<attribute name="selectedRefObjIds" value="null"/>
<method name="updatePrivateMessageLabelText" args="countUnRead">
<![CDATA[
this.countUnRead = countUnRead;
parent._labelPrivateMessages.setAttribute("text",canvas.getLabelName(parent._labelPrivateMessages.labelid)+' <i>( '+this.countUnRead+' </i>)');
]]>
</method>
<handler name="oninit">
this.addHeaderItem(1205,20);
this.addHeaderItemOrdered(1202,160,"c.from.lastname",false,false);
this.addHeaderItemOrdered(1203,this.width-316,"c.subject",false,false);
this.addHeaderItemOrdered(1204,120,"c.inserted",true,true);
//this.getInbox.doCall();
</handler>
<handler name="onload">
if (this.isInbox) {
this.getInbox.doCall();
} else if (this.isSend) {
this.getSend.doCall();
} else if (this.isTrash) {
this.getTrash.doCall();
}
</handler>
<method name="itemSelected" args="listObj,bool">
<![CDATA[
if ($debug) Debug.write("itemSelected :: ",listObj);
listObj.setAttribute("itemSelected",bool);
this.renderList[listObj.itemId].itemSelected = bool;
]]>
</method>
<method name="selectUnread">
<![CDATA[
if (!this.isInbox) {
return;
}
//list.subviews[i].setAttribute("isRead",records[i].isRead);
this._selectedRefObj = new Array();
this._selected = new Array();
for (var i=0;i<this.renderList.length;i++) {
if (!this.renderList[i].isRead) {
this.renderList[i].itemSelected = true;
this.renderList[i].isselected = true;
this._selectedRefObj.push(i);
} else {
this.renderList[i].itemSelected = false;
this.renderList[i].isselected = false;
}
}
if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
if (!this._innerlist._inn._inn.subviews[i].isRead) {
this._innerlist._inn._inn.subviews[i].setAttribute("itemSelected",true);
this._innerlist._inn._inn.subviews[i].isselected = true;
this._innerlist._inn._inn.subviews[i].onmouseout.sendEvent();
this._selected.push(this._innerlist._inn._inn.subviews[i]);
} else {
this._innerlist._inn._inn.subviews[i].setAttribute("itemSelected",false);
this._innerlist._inn._inn.subviews[i].isselected = false;
this._innerlist._inn._inn.subviews[i].onmouseout.sendEvent();
}
}
]]>
</method>
<method name="selectRead">
<![CDATA[
if (!this.isInbox) {
return;
}
//list.subviews[i].setAttribute("isRead",records[i].isRead);
this._selectedRefObj = new Array();
this._selected = new Array();
for (var i=0;i<this.renderList.length;i++) {
if (this.renderList[i].isRead) {
this.renderList[i].itemSelected = true;
this.renderList[i].isselected = true;
this._selectedRefObj.push(i);
} else {
this.renderList[i].itemSelected = false;
this.renderList[i].isselected = false;
}
}
if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
if (this._innerlist._inn._inn.subviews[i].isRead) {
this._innerlist._inn._inn.subviews[i].setAttribute("itemSelected",true);
this._innerlist._inn._inn.subviews[i].isselected = true;
this._innerlist._inn._inn.subviews[i].onmouseout.sendEvent();
this._selected.push(this._innerlist._inn._inn.subviews[i]);
} else {
this._innerlist._inn._inn.subviews[i].setAttribute("itemSelected",false);
this._innerlist._inn._inn.subviews[i].isselected = false;
this._innerlist._inn._inn.subviews[i].onmouseout.sendEvent();
}
}
]]>
</method>
<method name="moveToTrash" args="isTrash">
<![CDATA[
if (this._selectedRefObj == null || this._selectedRefObj.length == 0) {
new lz.labelerrorPopup(canvas,{errorlabelid:1254});
}
this.selectedRefObjIds = new Array();
for (var i=0;i<this._selectedRefObj.length;i++) {
this.selectedRefObjIds.push(this.renderList[this._selectedRefObj[i]].privateMessageId);
}
if ($debug) Debug.write("this._selectedRefObj ",this._selectedRefObj);
if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
this.moveMailsToTrash.isTrash = isTrash;
this.moveMailsToTrash.doCall();
]]>
</method>
<!--
public Long moveMailsToTrash(String SID, List privateMessageIds, Boolean isTrash)
-->
<netRemoteCallHib name="moveMailsToTrash" funcname="userservice.moveMailsToTrash"
remotecontext="$once{ canvas.thishib }" >
<attribute name="isTrash" value="false" type="boolean"/>
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return parent.parent.selectedRefObjIds; </method></netparam>
<netparam><method name="getValue"> return parent.isTrash; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("moveMailsToTrash: ",value);
//this.parent.destroy();
if (parent.isInbox) {
parent.getInbox.doCall();
} else if (parent.isSend) {
parent.getSend.doCall();
} else if (parent.isFolder) {
parent.getFolder.doCall();
} else if (parent.isTrash) {
parent.getTrash.doCall();
}
]]>
</handler>
</netRemoteCallHib>
<method name="moveToFolderById" args="newFolderId">
<![CDATA[
if (this._selectedRefObj == null || this._selectedRefObj.length == 0) {
new lz.labelerrorPopup(canvas,{errorlabelid:1254});
}
if ($debug) Debug.write("moveToFolderById ",newFolderId);
this.selectedRefObjIds = new Array();
for (var i=0;i<this._selectedRefObj.length;i++) {
this.selectedRefObjIds.push(this.renderList[this._selectedRefObj[i]].privateMessageId);
}
if ($debug) Debug.write("this._selectedRefObj ",this._selectedRefObj);
if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
this.moveMailsToFolder.newFolderId = newFolderId;
this.moveMailsToFolder.doCall();
]]>
</method>
<!--
public Integer moveMailsToFolder(String SID, List privateMessageIntsIds,
Long newFolderId)
-->
<netRemoteCallHib name="moveMailsToFolder" funcname="userservice.moveMailsToFolder"
remotecontext="$once{ canvas.thishib }" >
<attribute name="newFolderId" value="0" type="number" />
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return parent.parent.selectedRefObjIds; </method></netparam>
<netparam><method name="getValue"> return parent.newFolderId; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("moveMailsToFolder: ",value);
//this.parent.destroy();
if (parent.isInbox) {
parent.getInbox.doCall();
} else if (parent.isSend) {
parent.getSend.doCall();
} else if (parent.isFolder) {
parent.getFolder.doCall();
} else if (parent.isTrash) {
parent.getTrash.doCall();
}
]]>
</handler>
</netRemoteCallHib>
<method name="finalDelete">
<![CDATA[
if (this._selectedRefObj == null || this._selectedRefObj.length == 0) {
new lz.labelerrorPopup(canvas,{errorlabelid:1254});
}
this.selectedRefObjIds = new Array();
for (var i=0;i<this._selectedRefObj.length;i++) {
this.selectedRefObjIds.push(this.renderList[this._selectedRefObj[i]].privateMessageId);
}
if ($debug) Debug.write("this._selectedRefObj ",this._selectedRefObj);
if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
this.deletePrivateMessages.doCall();
]]>
</method>
<!--
public Integer deletePrivateMessages(String SID, List privateMessageIntsIds)
-->
<netRemoteCallHib name="deletePrivateMessages" funcname="userservice.deletePrivateMessages"
remotecontext="$once{ canvas.thishib }" >
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return parent.parent.selectedRefObjIds; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("deletePrivateMessages: ",value);
//this.parent.destroy();
if (parent.isInbox) {
parent.getInbox.doCall();
} else if (parent.isSend) {
parent.getSend.doCall();
} else if (parent.isFolder) {
parent.getFolder.doCall();
} else if (parent.isTrash) {
parent.getTrash.doCall();
}
]]>
</handler>
</netRemoteCallHib>
<method name="markToRead" args="isRead">
<![CDATA[
if (this._selectedRefObj == null || this._selectedRefObj.length == 0) {
new lz.labelerrorPopup(canvas,{errorlabelid:1254});
}
this.selectedRefObjIds = new Array();
for (var i=0;i<this._selectedRefObj.length;i++) {
this.selectedRefObjIds.push(this.renderList[this._selectedRefObj[i]].privateMessageId);
}
if ($debug) Debug.write("this._selectedRefObj ",this._selectedRefObj);
if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
if ($debug) Debug.write("this.markReadStatusMails ",isRead);
this.markReadStatusMails.isRead = isRead;
this.markReadStatusMails.doCall();
]]>
</method>
<!--
public Long markReadStatusMails(String SID, List privateMessageIntsIds, Boolean isRead)
-->
<netRemoteCallHib name="markReadStatusMails" funcname="userservice.markReadStatusMails"
remotecontext="$once{ canvas.thishib }" >
<attribute name="isRead" value="false" type="boolean"/>
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return parent.parent.selectedRefObjIds; </method></netparam>
<netparam><method name="getValue"> return parent.isRead; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("markReadStatusMails: ",value);
//this.parent.destroy();
if (parent.isInbox) {
parent.getInbox.doCall();
} else if (parent.isSend) {
parent.getSend.doCall();
} else if (parent.isFolder) {
parent.getFolder.doCall();
} else if (parent.isTrash) {
parent.getTrash.doCall();
}
]]>
</handler>
</netRemoteCallHib>
<handler name="onclickedItem" args="listObj">
<![CDATA[
if ($debug) Debug.write("onclickedItem :: ",listObj.refObj);
var bool = !listObj.itemSelected;
this.itemSelected(listObj,bool);
if (this.isInbox) {
if (!listObj.isRead) {
this.renderList[listObj.itemId].isRead = true;
listObj.setAttribute("isRead",true);
//if ($debug) Debug.write("onclickedItem :: ",listObj.refObj.privateMessageId);
this.markReadStatusMail.privateMessageId = listObj.refObj.privateMessageId;
this.markReadStatusMail.isRead = true;
this.updatePrivateMessageLabelText(this.countUnRead-1);
this.markReadStatusMail.doCall();
}
}
parent._privateMessageDetails.loadMessageDetails(listObj.refObj);
]]>
</handler>
<handler name="onUpdateOrder" args="itemRef">
if (this.isInbox) {
this.getInbox.doCall();
} else if (this.isSend) {
this.getSend.doCall();
} else if (this.isFolder) {
this.getFolder.doCall();
} else if (parent.isTrash) {
this.getTrash.doCall();
}
</handler>
<!--
public Long markReadStatusMail(String SID, Long privateMessageId,
Boolean isRead)
-->
<netRemoteCallHib name="markReadStatusMail" funcname="userservice.markReadStatusMail"
remotecontext="$once{ canvas.thishib }" >
<attribute name="privateMessageId" value="0" type="number"/>
<attribute name="isRead" value="false" type="boolean"/>
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return parent.privateMessageId; </method></netparam>
<netparam><method name="getValue"> return parent.isRead; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("markReadStatusMail: ",value);
//this.parent.destroy();
]]>
</handler>
</netRemoteCallHib>
<!--
public SearchResult getInbox(String SID, String search, String orderBy, int start, Boolean asc, Integer max)
-->
<netRemoteCallHib name="getInbox" funcname="userservice.getInbox"
remotecontext="$once{ canvas.thishib }" >
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return ""; </method></netparam>
<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("getInbox: ",value);
//this.parent.destroy();
this.parent.initValues(value.records);
parent.isInbox = true;
parent.isSend = false;
parent.isTrash = false;
parent.isFolder = false;
parent.countUnRead = 0;
for (var k=0;k<value.result.length;k++) {
value.result[k].strTime = parseDateToStringTime(value.result[k].inserted);
value.result[k].userName = value.result[k].from.firstname+' '+value.result[k].from.lastname+' &#60;'+value.result[k].from.adresses.email+'&#62;';
value.result[k].itemSelected = false;
if (!value.result[k].isRead) {
parent.countUnRead++;
}
}
parent.updatePrivateMessageLabelText(parent.countUnRead);
this.parent.renderContent(value.result);
]]>
</handler>
</netRemoteCallHib>
<!--
public SearchResult getSend(String SID, String orderBy, Integer start, Boolean asc, Integer max) {
-->
<netRemoteCallHib name="getSend" funcname="userservice.getSend"
remotecontext="$once{ canvas.thishib }" >
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return ""; </method></netparam>
<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
//if ($debug) Debug.write("searchUserProfile: ",value);
//this.parent.destroy();
this.parent.initValues(value.records);
parent.isInbox = false;
parent.isSend = true;
parent.isTrash = false;
parent.isFolder = false;
for (var k=0;k<value.result.length;k++) {
value.result[k].strTime = parseDateToStringTime(value.result[k].inserted);
value.result[k].userName = value.result[k].to.firstname+' '+value.result[k].to.lastname+' &#60;'+value.result[k].to.adresses.email+'&#62;';
value.result[k].itemSelected = false;
}
parent.parent._labelPrivateMessages.setAttribute("text",canvas.getLabelName(this.parent.parent._labelPrivateMessages.labelid));
this.parent.renderContent(value.result);
]]>
</handler>
</netRemoteCallHib>
<!--
public SearchResult getTrash(String SID, String search, String orderBy, Integer start, Boolean asc, Integer max)
-->
<netRemoteCallHib name="getTrash" funcname="userservice.getTrash"
remotecontext="$once{ canvas.thishib }" >
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return ""; </method></netparam>
<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
//if ($debug) Debug.write("searchUserProfile: ",value);
//this.parent.destroy();
this.parent.initValues(value.records);
parent.isInbox = false;
parent.isSend = false;
parent.isTrash = true;
parent.isFolder = false;
for (var k=0;k<value.result.length;k++) {
value.result[k].strTime = parseDateToStringTime(value.result[k].inserted);
value.result[k].userName = value.result[k].to.firstname+' '+value.result[k].to.lastname+' &#60;'+value.result[k].to.adresses.email+'&#62;';
value.result[k].itemSelected = false;
}
parent.parent._labelPrivateMessages.setAttribute("text",canvas.getLabelName(this.parent.parent._labelPrivateMessages.labelid));
this.parent.renderContent(value.result);
]]>
</handler>
</netRemoteCallHib>
<!--
public SearchResult getFolder(String SID, Long privateMessageFolderId, String search, String orderBy,
Integer start, Boolean asc, Integer max)
-->
<netRemoteCallHib name="getFolder" funcname="userservice.getFolder"
remotecontext="$once{ canvas.thishib }" >
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return parent.parent.privateMessageFolderId; </method></netparam>
<netparam><method name="getValue"> return ""; </method></netparam>
<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("getFolder: ",value);
//this.parent.destroy();
this.parent.initValues(value.records);
parent.isInbox = false;
parent.isSend = false;
parent.isTrash = false;
parent.isFolder = true;
for (var k=0;k<value.result.length;k++) {
value.result[k].strTime = parseDateToStringTime(value.result[k].inserted);
value.result[k].userName = value.result[k].to.firstname+' '+value.result[k].to.lastname+' &#60;'+value.result[k].to.adresses.email+'&#62;';
value.result[k].itemSelected = false;
}
parent.parent._labelPrivateMessages.setAttribute("text",canvas.getLabelName(this.parent.parent._labelPrivateMessages.labelid));
this.parent.renderContent(value.result);
]]>
</handler>
</netRemoteCallHib>
<!--
from" value="" type="string"/>
<attribute name="subject" value="" type="string"/>
<attribute name="strTime
-->
<method name="renderContent" args="rList">
<![CDATA[
this._selectedRefObj = new Array();
this._selected = new Array();
if (this.isTrash) {
parent._actionButtons._moveToTrash.setAttribute("visibility","hidden");
parent._actionButtons._moveToInbox.setAttribute("visibility","visible");
parent._actionButtons._read.setAttribute("visibility","hidden");
parent._actionButtons._unread.setAttribute("visibility","hidden");
parent._actionButtons._finalDelete.setAttribute("visibility","visible");
} else if (this.isFolder) {
parent._actionButtons._moveToTrash.setAttribute("visibility","visible");
parent._actionButtons._moveToInbox.setAttribute("visibility","visible");
parent._actionButtons._read.setAttribute("visibility","visible");
parent._actionButtons._unread.setAttribute("visibility","visible");
parent._actionButtons._finalDelete.setAttribute("visibility","hidden");
} else {
parent._actionButtons._moveToTrash.setAttribute("visibility","visible");
parent._actionButtons._moveToInbox.setAttribute("visibility","hidden");
parent._actionButtons._read.setAttribute("visibility","visible");
parent._actionButtons._unread.setAttribute("visibility","visible");
parent._actionButtons._finalDelete.setAttribute("visibility","hidden");
}
this.renderList = rList;
this.isLoaded = true;
var list = this._innerlist._inn._inn;
if (this.renderList == null) {
this.renderList = new Array();
}
//this.renderList = records;
var records = this.renderList;
this._innerlist._inn.setAttribute("y",0);
this._innerlist._inn._inn.setAttribute("height",records.length*this.itemHeight);
this._innerlist._inn.resetItems();
if ($debug) Debug.write(":: renderContent ::",this.renderList.length,list.subviews.length);
//this._records.setAttribute("text",records.length);
for (var i=0;i<list.subviews.length;i++){
//if (i % 2 == 0) {
// list.subviews[i].setIsSecond(true);
//} else {
// list.subviews[i].setIsSecond(false);
//}
if (records.length > i) {
//if ($debug) Debug.write("Render Item ",records[i]);
list.subviews[i].setAttribute("clickable",true);
list.subviews[i].refObj = records[i];
if (records[i]["isselected"] && records[i].isselected) {
list.subviews[i].isselected = true;
} else {
list.subviews[i].isselected = false;
}
list.subviews[i].setAttribute("from",records[i].userName);
list.subviews[i].setAttribute("subject",records[i].subject);
list.subviews[i].setAttribute("strTime",records[i].strTime);
list.subviews[i].setAttribute("itemSelected",records[i].itemSelected);
if (this.isInbox) {
list.subviews[i].setAttribute("isRead",records[i].isRead);
} else {
list.subviews[i].setAttribute("isRead",true);
}
list.subviews[i].setAttribute("itemId",i);
} else {
list.subviews[i].refObj = null;
list.subviews[i].isselected = false;
list.subviews[i].onmouseout.sendEvent();
list.subviews[i].setAttribute("from",'');
list.subviews[i].setAttribute("subject",'');
list.subviews[i].setAttribute("strTime",'');
list.subviews[i].setAttribute("itemSelected",false);
list.subviews[i].setAttribute("itemId","");
list.subviews[i].setAttribute("clickable",false);
}
list.subviews[i].onmouseout.sendEvent();
}
this.sendInitialWidthUpdate();
]]>
</method>
<handler name="onScrollItem" args="item">
<![CDATA[
if (this.renderList.length > item.itemId) {
item.setAttribute("clickable",true);
item.refObj = this.renderList[item.itemId];
//if (item.itemId % 2 == 0) {
// item.setIsSecond(true);
//} else {
// item.setIsSecond(false);
//}
if (this.renderList[item.itemId]["isselected"] && this.renderList[item.itemId].isselected) {
//if ($debug) Debug.write("item.isselected ",item.itemId);
item.isselected = true;
item.onmouseout.sendEvent();
} else {
//if ($debug) Debug.write("item NOT .isselected ",item.itemId);
item.isselected = false;
item.onmouseout.sendEvent();
}
//if ($debug) Debug.write(item.itemId);
item.setAttribute("from",this.renderList[item.itemId].userName);
item.setAttribute("subject",this.renderList[item.itemId].subject);
item.setAttribute("strTime",this.renderList[item.itemId].strTime);
item.setAttribute("itemSelected",this.renderList[item.itemId].itemSelected);
if (this.isInbox) {
item.setAttribute("isRead",this.renderList[item.itemId].isRead);
} else {
item.subviews[i].setAttribute("isRead",true);
}
item.setAttribute("itemId",item.itemId);
} else {
//if (item.itemId % 2 == 0) {
// item.setIsSecond(true);
//} else {
// item.setIsSecond(false);
//}
item.isselected = false;
item.onmouseout.sendEvent();
item.refObj = null;
item.setAttribute("from","");
item.setAttribute("subject","");
item.setAttribute("strTime","");
item.setAttribute("itemSelected",false);
item.setAttribute("itemId","");
item.setAttribute("clickable",false);
}
]]>
</handler>
</turnOverListOrderedPaged>
<view name="_actionButtons" y="274" x="158" layout="axis:x;spacing:2">
<view resource="private_message_select_part_rsc"></view>
<resetCombobox name="_action" width="90"
editable="false" fontsize="10" height="20" >
<attribute name="sendEventToReload" value="false" type="boolean" />
<handler name="oninit">
this.addItem(canvas.getLabelName(1252),"0");//Actions ...
this.addItem(canvas.getLabelName(1239),"1");//Select All
this.addItem(canvas.getLabelName(1240),"2");//Select None
this.addItem(canvas.getLabelName(1241),"3");//Select Unread
this.addItem(canvas.getLabelName(1242),"4");//Select Read
this.selectItemAt(0);
</handler>
<handler name="onselect" args="sel">
if (sel.value == "1") {
parent.parent._table.selectAll();
} else if (sel.value == "2") {
parent.parent._table.deselectAll();
} else if (sel.value == "3") {
parent.parent._table.selectUnread();
} else if (sel.value == "4") {
parent.parent._table.selectRead();
}
</handler>
</resetCombobox>
<simpleLabelButton name="_moveToTrash" labelid="1245" fontstyle="plain" width="80" height="21">
<handler name="onclick">
parent.parent._table.moveToTrash(true);
</handler>
<labelTooltip labelid="1246" />
</simpleLabelButton>
<simpleLabelButton name="_read" labelid="1248" fontstyle="plain" width="80" height="21">
<handler name="onclick">
parent.parent._table.markToRead(true);
</handler>
</simpleLabelButton>
<simpleLabelButton name="_unread" labelid="1247" fontstyle="plain" width="80" height="21">
<handler name="onclick">
parent.parent._table.markToRead(false);
</handler>
</simpleLabelButton>
<simpleLabelButton name="_moveToInbox" labelid="1255" visibility="hidden"
fontstyle="plain" width="120" height="21">
<handler name="onclick">
parent.parent._table.moveToTrash(false);
</handler>
</simpleLabelButton>
<simpleLabelButton name="_finalDelete" labelid="1256" visibility="hidden"
fontstyle="plain" width="120" height="21">
<handler name="onclick">
parent.parent._table.finalDelete();
</handler>
<labelTooltip labelid="1257" />
</simpleLabelButton>
<resetCombobox name="_move" width="120" x="42"
editable="false" fontsize="10" height="20" >
<attribute name="sendEventToReload" value="false" type="boolean" />
<method name="initItems" args="tList">
<![CDATA[
this.reset();
this.addItem(canvas.getLabelName(1243),"0");//Move to folder ...
for (var i=0;i<tList.length;i++) {
this.addItem(tList[i].folderName,tList[i].privateMessageFolderId);
}
this.addItem(canvas.getLabelName(1244),"-1");//Create Folder ...
this.selectItemAt(0);
]]>
</method>
<handler name="oninit">
//this.addItem(canvas.getLabelName(1243),"0");//Move to folder ...
//this.addItem(canvas.getLabelName(1244),"-1");//Create Folder ...
//this.selectItemAt(0);
</handler>
<handler name="onselect" args="sel">
<![CDATA[
if ($debug) Debug.write("onselect :: ",sel.value);
if (sel.value == "-1") {
//Init Add Folder Dialog
parent.parent._Buttons._addFolder.onclick.sendEvent(null);
} else if (Number(sel.value) > 0) {
parent.parent._table.moveToFolderById(Number(sel.value));
}
]]>
</handler>
</resetCombobox>
</view>
<view name="_privateMessageDetails" x="155" width="$once{ parent.width-155 }" y="296"
height="${ parent.height - 298 }" clip="true">
<attribute name="pendingUserStatusRef" value="null"/>
<attribute name="roomObjectRef" value="null"/>
<attribute name="senderuserId" value="0" type="number" />
<method name="loadMessageDetails" args="refObj">
<![CDATA[
this.senderuserId = refObj.from.user_id;
this._answer_area.setAttribute("visibility","visible");
this.from.setAttribute("text",refObj.from.firstname+' '+refObj.from.lastname+' &#60;'+refObj.from.adresses.email+'&#62;');
if (refObj.to != null) {
this.to.setAttribute("text",refObj.to.firstname+' '+refObj.to.lastname+' &#60;'+refObj.to.adresses.email+'&#62;');
} else {
this.to.setAttribute("text","");
}
this.subject.setAttribute("text",refObj.subject);
this.message.message.setAttribute("text",refObj.message);
if (this.pendingUserStatusRef != null) {
this.pendingUserStatusRef.destroy();
}
if (refObj.isContactRequest) {
this.checkPendingStatus.userContactId = refObj.userContactId;
this.checkPendingStatus.doCall();
}
if (this.roomObjectRef != null) {
this.roomObjectRef.destroy();
}
if (refObj.room != null) {
if ($debug) Debug.write("loadMessageDetails :: ",refObj.room);
this.roomObjectRef = new lz.roomAccessMessage(this,{
rooms_id:refObj.room.rooms_id
});
}
]]>
</method>
<!--
public Long checkPendingStatus(String SID, Long userContactId)
-->
<netRemoteCallHib name="checkPendingStatus" funcname="userservice.checkPendingStatus"
remotecontext="$once{ canvas.thishib }" >
<attribute name="userContactId" value="0" type="number" />
<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
<netparam><method name="getValue"> return parent.userContactId; </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("checkPendingStatus: ",value);
if (value > 0) {
parent.pendingUserStatusRef = new lz.pendingUserStatus(parent,{
userContactId:this.userContactId,
message:parent.subject.getText()
});
}
]]>
</handler>
</netRemoteCallHib>
<view name="_privateMessageDetailsBorder2" width="$once{ parent.width }" y="0"
height="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
<view name="_privateMessageDetailsBorder3" width="$once{ parent.width }" y="1"
height="61" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" opacity="0.1" />
<labelText name="_labelFrom" x="2" labelid="1202" y="2" />
<labelText name="from" width="$once{ parent.width-100 }" fontstyle="italic"
x="100" y="2" resize="false" />
<labelText name="_labelTo" x="2" labelid="1210" y="22"/>
<labelText name="to" width="$once{ parent.width-100 }" fontstyle="italic"
x="100" y="22" resize="false" />
<labelText name="_labelSubject" x="2" labelid="1211" y="42"/>
<labelText name="subject" width="$once{ parent.width-100 }" fontstyle="bold"
x="100" y="42" resize="false" />
<view name="_privateMessageDetailsBorder1" width="$once{ parent.width }" y="62"
height="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
<view name="message" y="64" bgcolor="0xFFFFFF" x="2"
width="$once{ parent.width-4 }" height="${ parent.height-86 }">
<labelText name="message" width="$once{ parent.width-16 }"
multiline="true" resize="false" />
<om_vscrollbar />
</view>
<view name="_answer_area" height="22" visibility="hidden"
y="${ parent.height-22 }" width="$once{ parent.width }">
<view name="_privateMessageDetailsBorder2" width="$once{ parent.width }" y="0"
height="1" bgcolor="0x666666" />
<!-- label: cancel -->
<simpleLabelButton labelid="1303" x="$once{ parent.width-130 }" width="120" y="2">
<handler name="onclick">
new lz.newPrivateMessage(canvas,{
x:200,y:120,
refObj:null,
minimizable:true,
maximizable:true,
userObject:null,
isdragable:true,
user_id:parent.parent.senderuserId,
width:canvas.width-300,
height:canvas.height-130
});
</handler>
</simpleLabelButton>
</view>
</view>
</class>
</library>