|
Struts example source code file (StrutsTreeSelector.js)
The Struts StrutsTreeSelector.js source code/* * $Id: StrutsTreeSelector.js 590812 2007-10-31 20:32:54Z apetrelli $ * * 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. */ dojo.provide("struts.widget.StrutsTreeSelector"); dojo.require("dojo.widget.TreeSelector"); dojo.widget.defineWidget( "struts.widget.StrutsTreeSelector", dojo.widget.TreeSelector, { widgetType : "StrutsTreeSelector", selectedNotifyTopics : "", collapsedNotifyTopics : "", expandedNotifyTopics : "", selectedNotifyTopicsArray : null, collapsedNotifyTopicsArray : null, expandedNotifyTopicsArray : null, eventNamesDefault: { select : "select", destroy : "destroy", deselect : "deselect", dblselect: "dblselect", // select already selected node.. Edit or whatever expand: "expand", collapse: "collapse" }, initialize: function () { struts.widget.StrutsTreeSelector.superclass.initialize.apply(this); if(!dojo.string.isBlank(this.selectedNotifyTopics)) { this.selectedNotifyTopicsArray = this.selectedNotifyTopics.split(","); } if(!dojo.string.isBlank(this.selectedNotifyTopics)) { this.collapsedNotifyTopicsArray = this.collapsedNotifyTopics.split(","); } if(!dojo.string.isBlank(this.selectedNotifyTopics)) { this.expandedNotifyTopicsArray = this.expandedNotifyTopics.split(","); } }, listenTree: function(tree) { dojo.event.topic.subscribe(tree.eventNames.collapse, this, "collapse"); dojo.event.topic.subscribe(tree.eventNames.expand, this, "expand"); struts.widget.StrutsTreeSelector.superclass.listenTree.apply(this, [tree]); }, unlistenTree: function(tree) { dojo.event.topic.unsubscribe(tree.eventNames.collapse, this, "collapse"); dojo.event.topic.unsubscribe(tree.eventNames.expand, this, "expand"); struts.widget.StrutsTreeSelector.superclass.unlistenTree.apply(this, [tree]); }, publishTopics : function(topics, node) { if(topics != null) { for(var i = 0; i < topics.length; i++) { var topic = topics[i]; if(!dojo.string.isBlank(topic)) { try { dojo.event.topic.publish(topic, node); } catch(ex) { dojo.debug(ex); } } } } }, select:function (message) { var node = message.source; var e = message.event; if (this.selectedNode === node) { if (e.ctrlKey || e.shiftKey || e.metaKey) { this.deselect(); return; } dojo.event.topic.publish(this.eventNames.dblselect, {node:node}); return; } if (this.selectedNode) { this.deselect(); } this.doSelect(node); this.publishTopics(this.selectedNotifyTopicsArray, {node: node}); }, expand: function(message) { var node = message.source; this.publishTopics(this.expandedNotifyTopicsArray, {node: node}); }, collapse: function(message) { var node = message.source; this.publishTopics(this.collapsedNotifyTopicsArray, {node: node}); } }); Other Struts examples (source code examples)Here is a short list of links related to this Struts StrutsTreeSelector.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.