Ignore:
Timestamp:
04/16/11 21:32:35 (13 years ago)
Author:
gaba
Message:

xml,link - query detail functions
@fileOverview

Location:
MDService2/trunk/MDService2/WebContent/scripts
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_helpers.js

    r1177 r1219  
     1/**
     2 * @fileOverview The file mainly should contain javascript assistance functions, which are not related directly to UI.
     3 * Actualy includes string additional functions,  Url decoding , datetime conversions
     4 * @author
     5 * @version
     6 */
     7
    18// url params reading
    29var params;
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_model.js

    r1215 r1219  
    1  // client-side oportunistic modelling of "business-objects":
    2 // Query, Queryset, Component?
     1 /**
     2 * @fileOverview  This file provide basic query client-side modell. Query constuction,
     3 * manipulating and queryset modell functionality.
     4 *
     5 * @author
     6 * @version
     7 */
     8
    39var page_record_count = 10;
    410var formatquerystring_len = 25;
     
    915};
    1016//var collections  = [];
    11 
    1217
    1318function Query(collection, columns, query , squery) {
     
    3237
    3338Query.prototype.load  = function(json) {
    34         //var collection_text = Query.collectiontext(json);
    3539       
    3640        var columns_text = "";
     
    143147                escaped_sq =escape(this.squery).replace(/%20/g,"%2520").replace(/\%2[27]/g,"%2522") ;
    144148                escaped_sq = escaped_sq.replace(/%7C/g,"%257C").replace(/\+/g,"%2B");
    145                 //params = params + "squery=" + escaped_sq + "&";
    146149                if (q.length > 0){
    147150                        q = q + " and ";
     
    153156       
    154157        return params;
    155 
    156         //return $.param(this.query);
    157158};
    158159
     
    166167        return JSON.stringify(jsonq);
    167168};
    168 /*
    169 Query.prototype.getcolumnstext = function(what) {
    170         var columns_text = "";
    171         for (var i = 0; i < this.columns.length; i++) {
    172                 if (what == "index") {
    173                         columns_text = columns_text + "," + this.columns[i];
    174                 } else {
    175                         columns_text = columns_text + "," + this.columns[i];   
    176                 }
    177         }
    178         if (columns_text.length > 1) {
    179                 columns_text = columns_text.substring(1);       
    180         }
    181         return columns_text;
    182 };
    183 */
    184169
    185170Query.prototype.getcollectiontext = function(what) {
     
    389374       
    390375        this.container = $('#' + this.listid );
    391        
    392 //      this.columns_widget = new ListWidget($(this.container).find('.query-columns'));
    393         //$(this.container).find('.query-columns').append(this.columns_widget);
    394        
    395         //this.columns_widget.load(this.columns.split(','));
    396         //this.columns_widget.initAutocomplete(element_autocomplete);
    397         //$(this.container).find('.columns-wrapper').hide();
    398        
     376
    399377        notifyUser("DEBUG: setting up removing query:" + $(this).closest('.query_wrapper').attr('id'));
    400378        $(this.container).children('.query_header').find('.cmd_del').click(function(event) {
     
    403381        });
    404382       
    405         /*
    406         $(this.container).children('.columns-wrapper').children('.cmd_del').live('click',  function(event) {
    407                 $(this).parent().hide();
    408         });
    409         */
    410383        createTooltip(this.container);
    411384 };
    412  /*
    413  Query.prototype.renderDetail = function () {
    414          
    415                 var x = "<div id='detail-" + this.listid + "' class='cmd-ui-block query_wrapper ui-widget' ><div class='query-header ui-widget-header ui-state-default ui-corner-top'>" +
    416                 "<span class='cmd cmd_up'></span><span class='cmd cmd_save'></span><span class='cmd cmd_del'> </span>" +
    417                 "<span class='query_id'>" +     this.listid + "</span>: <span class='query'>" +
    418                 this.getcollectiontext("name") + ":" + Query.queryliststring(this.squery, this.query) + ", repository:" + this.repository.toString() + "</span>" +
    419                                 "<a class='cmd cmd_xml' target='_blank' href='" + this.link("xml") + "'>xml</a> <a class='cmd cmd_link' target='_blank' href='" + this.link("fullpage") + "' >link</a></div>" +
    420                                 "<div class='ui-widget-content ui-corner-bottom'></div>";
    421                                
    422                 addToDetailList(x);     
    423                
    424                 var q_header = $(x).find('.query_header');
    425                
    426                 q_header.find('.cmd_reload').click(function() {
    427                         // reload  from columns-wrapper
    428                         if ($(this).parent().attr('class').indexOf("columns-wrapper") > 0) {
    429                                 $(this).closest('.columns-wrapper').hide();
    430                         }
    431                         var str = $(this).closest('.query_wrapper').attr("id");
    432                         var qid = str.substring(7);
    433                         queryset.resubmit(qid);
    434                 });
    435                 q_header.find('.cmd_prev').click(function() {
    436                         var str = $(this).closest('.query_wrapper').attr("id");
    437                         var qid = str.substring(7);
    438                         queryset.next(qid,-1);
    439                 });
    440                 q_header.find('.cmd_next').click(function() {
    441                         var str = $(this).closest('.query_wrapper').attr("id");
    442                         var qid = str.substring(7);
    443                                 queryset.next(qid,1);
    444                 });
    445                
    446                 q_header.find('.value-format').change(function(){
    447                         var str = $(this).closest('.query_wrapper').attr("id");
    448                         var qid = str.substring(7);
    449                         var q = queryset.getQuery(qid);
    450                         q.format = $(this).find('option:selected').val();
    451                         queryset.resubmit(qid);
    452                        
    453                 });
    454                 q_header.find('.cmd_columns').live('click',  function(event) {
    455                         notifyUser("DEBUG: submit() .cmd_columns");
    456                         $(this).closest('.query_wrapper').find('.columns-wrapper').toggle();
    457                 });     
    458 
    459                 q_header.find('.cmd_add').click(function(){
    460                        
    461                         query_wrapper_add_column($(this));
    462                 });
    463                
    464                 q_header.find('.cmd_del').click(function(){
    465                         if ($(this).parent().parent().attr("class") == "query-columnslist"){
    466                                 var list = $(this).closest('.query-columns').children('.query-columnslist');
    467                                 var qid = $(this).closest('.query_wrapper').attr("id");
    468                                 var q = queryset.getQuery(qid);
    469                                
    470                                 $(this).parent().remove();
    471                                 q.updatecolumnstext($(list).children());
    472                                        
    473                         }
    474                         if ($(this).parent().attr('class') == 'columns-wrapper'){
    475                                 $(this).parent().hide();
    476                         }
    477                 });
    478                
    479                 q_header.find('.columns-wrapper').hide();
    480                 q_header.find('.terms-tree').treeTable({initialState:"collapsed"});
    481                
    482                
    483           };
    484 Query.prototype.showDetail = function() {
    485        
    486         $('#detail-'+this.listid).find('.ui-widget-content').show();
    487         $('#detail-'+this.listid).find('.cmd_down').toggleClass('cmd_down cmd_up');     
    488 };
    489 */
     385 
    490386 Query.prototype.open = function (type) {
    491387         if (type != null)
     
    498394         var uri="";
    499395         if (type=="fullpage")  {
    500                 //var jsonq = {"squerystring":this.squery, "querystring":this.query, "searchclauses":"null" , "collections" : this.json_coll, "columns" : this.json_cols};
    501                 //uri = "?query=" + JSON.stringify(jsonq) + "&startItem=" + this.startItem + "&maximumItems=" + this.maximumItems;
    502                  //uri = this.query_json();
    503396                 uri = link('base',this.query_uri());
    504397         } else {
     
    536429       
    537430                var uri = link('recordset',this.format, this.query_uri());
     431                var query = this;
    538432               
    539433                notifyUser("submitting query:" +  uri);
     
    553447                                        q_header.append(result_header);
    554448                                       
    555                                         //var q_header = $(x).find('.query_header');
    556                                         addDetailFunctionality(q_header);
     449                                        addDetailFunctionality(q_header, query);
    557450                                       
    558451                                        createTooltip($(this));
     
    566459        var qid = this.listid;
    567460        var q_uri = this.query_uri();
     461        var query = this;
    568462       
    569463        notifyUser("resubmitting query:" +  uri);
     
    599493                               
    600494                                q_header.append(result_header);                         
    601                                 addDetailFunctionality(q_header);
    602 /*                              q_header.find('.cmd_reload').click(function() {
    603                                         // reload  from columns-wrapper
    604                                         if ($(this).parent().attr('class').indexOf("columns-wrapper") > 0) {
    605                                                 $(this).closest('.columns-wrapper').hide();
    606                                         }
    607                                         var qid = $(this).closest('.query_wrapper').attr("id");
    608                                         queryset.resubmit(qid);
    609                                 });
    610                                 q_header.find('.cmd_prev').click(function() {
    611                                         var qid = $(this).closest('.query_wrapper').attr("id");
    612                                         queryset.next(qid,-1);
    613                                 });
    614                                 q_header.find('.cmd_next').click(function() {
    615                                                 var qid = $(this).closest('.query_wrapper').attr("id");
    616                                                 queryset.next(qid,1);
    617                                 });
    618                                 q_header.find('.value-format').change(function(){
    619                                         var qid = $(this).closest('.query_wrapper').attr("id");
    620                                         var q = queryset.getQuery(qid);
    621                                         q.format = $(this).find('option:selected').text().trim();
    622                                         queryset.resubmit(qid);
    623                                        
    624                                 });
    625                                 q_header.find('.cmd_columns').live('click',  function(event) {
    626                                         notifyUser("DEBUG: resubmit() .cmd_columns");
    627                                         $(this).closest('.query_wrapper').find('.columns-wrapper').toggle();
    628                                 });
    629                                
    630                                 q_header.find('.cmd_add').click(function(){
    631                                         query_wrapper_add_column($(this));
    632                                 });
    633 
    634                                 q_header.find('.cmd_del').click(function(){
    635                                         if ($(this).parent().parent().attr("class") == "query-columnslist"){
    636                                                 var list = $(this).closest('.query-columns').children('.query-columnslist');
    637                                                 var qid = $(this).closest('.query_wrapper').attr("id");
    638                                                 var q = queryset.getQuery(qid);
    639                                                
    640                                                 $(this).parent().remove();
    641                                                 q.updatecolumnstext($(list).children());
    642                                                        
    643                                         }
    644                                         if ($(this).parent().attr('class') == 'columns-wrapper'){
    645                                                 $(this).parent().hide();
    646                                         }
    647                                 });
    648 
    649                                 q_header.find('.columns-wrapper').hide();
    650                                 q_header.find('.terms-tree').treeTable({initialState:"collapsed"});
    651                                 */
     495                                addDetailFunctionality(q_header, query);
    652496                        });
    653497
     
    667511                query.render();                         
    668512                query.submit();         
    669                 //$('#querylist').html(this.render());
    670513        },
    671514
     
    822665                }
    823666               
    824                 //$('#' + qid ).find('.start_record').val(query.startItem);
    825                 //$('#' + qid ).find('.maximum_records').val(query.maximumItems);
    826                 //var max_results =
    827                
    828667        }
    829668       
     
    836675});
    837676
    838 
    839 
    840 
    841677function query_wrapper_add_column(elem){
    842         //var col  = '<li>' + $(elem).next().text() + '<span class="cmd cmd_del" /></li>';
    843         //$(elem).closest('.query-columns').find('.query-columnslist').append(col);
    844678        var slid = $(elem).closest('.query-columns').find('.widget-wrapper').attr('id');
    845679        var sl = selectionlistset.getselectionlist(slid);
    846680        sl.listwidget.add(new ListItem($(elem).closest('.treecol').children('.column-elem').text()));
    847        
    848         // add to query columnslist // columns_widget not used
    849         /*
    850         var did = $(elem).closest('.detail-wrapper').attr("id");
    851         var     qid = detailcaller.getdetail(did).temp_id;
    852 
    853         var q = queryset.getQuery(qid);
    854         //q.columns_widget.add($(this).text());
    855         q.updatecolumnstext($(elem).closest('.query-columns').find('.query-columnslist').children());
    856         */
    857 };
    858 
    859 function addDetailFunctionality(q_header){
    860         q_header.find('.cmd_xml').click(function() {
    861                 var qid;
    862                 if ($(this).parent().attr('class') == 'result-header'){
    863                         qid = $(this).closest('.query_wrapper').attr("id");
    864                 } else {
    865                         var did = $(this).closest('.detail-wrapper').attr("id");
    866                         var slid = $(this).closest('.detail-wrapper').find('.selectionlist-widget').attr("id");
    867                         var detail = detailcaller.getdetail(did);
    868                         qid = detail.temp_id;
    869                 }
    870                 var q = queryset.getQuery(qid);
    871                 q.open("xml");
    872         });
    873         q_header.find('.cmd_link').click(function() {
    874                 var qid;
    875                 if ($(this).parent().attr('class') == 'result-header'){
    876                         qid = $(this).closest('.query_wrapper').attr("id");
    877                 } else {
    878                         var did = $(this).closest('.detail-wrapper').attr("id");
    879                         var slid = $(this).closest('.detail-wrapper').find('.selectionlist-widget').attr("id");
    880                         var detail = detailcaller.getdetail(did);
    881                         qid = detail.temp_id;
    882                 }
    883                 var q = queryset.getQuery(qid);
    884                 q.open("fullpage");
    885         });
    886         q_header.find('.cmd_page').click(function() {
    887                 var qid;
    888                 if ($(this).parent().attr('class') == 'result-header'){
    889                         qid = $(this).closest('.query_wrapper').attr("id");
    890                 } else {
    891                         var did = $(this).closest('.detail-wrapper').attr("id");
    892                         var slid = $(this).closest('.detail-wrapper').find('.selectionlist-widget').attr("id");
    893                         var detail = detailcaller.getdetail(did);
    894                         qid = detail.temp_id;
    895                 }
    896                 var q = queryset.getQuery(qid);
    897                 q.open();
    898         });
    899        
     681};
     682
     683function addDetailFunctionality(q_header, query){       
    900684        q_header.find('.cmd_reload').click(function() {
    901                 // reload  from columns-wrapper
    902                 //if ($(this).parent().attr('class').indexOf("columns-wrapper") > 0) {
    903                 //      $(this).closest('.columns-wrapper').hide();
    904                 //}
    905685                var qid;
    906686                if ($(this).parent().attr('class') == 'result-header'){
    907687                        qid = $(this).closest('.query_wrapper').attr("id");
    908                         //qid = str.substring(7);
    909688                } else {
    910689                        var did = $(this).closest('.detail-wrapper').attr("id");
     
    925704        q_header.find('.cmd_prev').click(function() {
    926705                var qid = $(this).closest('.query_wrapper').attr("id");
    927                 //var qid = str.substring(7);
    928706                queryset.next(qid,-1);
    929707        });
    930708        q_header.find('.cmd_next').click(function() {
    931709                var qid = $(this).closest('.query_wrapper').attr("id");
    932                 //var qid = str.substring(7);
    933                         queryset.next(qid,1);
     710                queryset.next(qid,1);
    934711        });
    935712       
    936713        q_header.find('.value-format').change(function(){
    937                         var did = $(this).closest('.detail-wrapper').attr("id");
    938                         var qid = detailcaller.getdetail(did).temp_id;
    939                 //var qid = str.substring(1);
     714                var did = $(this).closest('.detail-wrapper').attr("id");
     715                var qid = detailcaller.getdetail(did).temp_id;
    940716                var q = queryset.getQuery(qid);
    941717                q.format = $(this).find('option:selected').val();
     
    943719               
    944720        });
    945 /*      q_header.find('.cmd_columns').live('click',  function(event) {
    946                 notifyUser("DEBUG: submit() .cmd_columns");
    947                 $(this).closest('.query_wrapper').find('.columns-wrapper').toggle();
    948         });     
    949 */
    950721        q_header.find('.cmd_add').click(function(){
    951722               
    952723                query_wrapper_add_column($(this));
    953724        });
    954         /*
    955         $('.query-columnslist .cmd_del').live('click',function(){
    956                 if ($(this).parent().parent().attr("class") == "query-columnslist"){
    957                         var list = $(this).closest('.query-columns').children('.query-columnslist');
    958                         var did = $(this).closest('.detail-wrapper').attr("id");
    959                         var qid = detailcaller.getdetail(did).temp_id;
    960                         var q = queryset.getQuery(qid);
    961                        
    962                         $(this).parent().remove();
    963                         q.updatecolumnstext($(list).children());
    964                                
    965                 }
    966                 if ($(this).parent().attr('class') == 'columns-wrapper'){
    967                         $(this).parent().hide();
    968                 }
    969         });
    970         */
    971         /*
    972         q_header.find('.cmd_del').click(function(){
    973                 if ($(this).parent().parent().attr("class") == "query-columnslist"){
    974                         var list = $(this).closest('.query-columns').children('.query-columnslist');
    975                         var qid = $(this).closest('.detail-wrapper').attr("temp_id");
    976                         var q = queryset.getQuery(qid);
    977                        
    978                         $(this).parent().remove();
    979                         q.updatecolumnstext($(list).children());
    980                                
    981                 }
    982                 if ($(this).parent().attr('class') == 'columns-wrapper'){
    983                         $(this).parent().hide();
    984                 }
    985         });
    986         */
    987725        q_header.find('.columns-wrapper').hide();
    988726        q_header.find('.terms-tree').treeTable({initialState:"collapsed"});
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_searchclause.js

    r1177 r1219  
     1/**
     2 * @fileOverview  This file contains model for building searchclausesets used in user queries.
     3 * Consists of two parts:
     4 * - SearchClause model [index,relation, value], with basic functionality -
     5 * creation, render, autocomplete.
     6 * - Searchclauseset - container of actually used searchclauses in app
     7 * with basic functionality for building container - add, remove, clear
     8 * and conversion functions - conversions from-to querystring
     9 *
     10 * @author
     11 * @version
     12 */
     13
    114// client-side modelling of "business-objects":
    215// SearchClause, SearchClauseset,
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_ui.js

    r1215 r1219  
     1/**
     2 * @fileOverview  This is the main app,  contains main app function.
     3 * The app main function runs setup functionality, which covers this domains:
     4 * - the variable initialization - functions from mdservice_searchclause.js, mdservice_widget.js, mdservice_ui_helpers.js
     5 * - loading data from repository and creating particular client-side representations  - functions from mdservice_ui_load.js
     6 * - creating of ui-layout , means split UI to particular panes  - functions from mdservice_ui_layout.js
     7 * - adding all app widget functionality  - functions are included directly in mdservice_ui.js *
     8 * @author
     9 * @version
     10 */
    111
    212$(function(){
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_ui_detail.js

    r1215 r1219  
    11 
     2/**
     3 * @fileOverview The file for detail-call handling. Details are displayd various according to app settings for particular UI block.
     4 * The file consists from Detail model and Detailset of all currently created detail-windows.
     5 * @author
     6 * @version
     7 */
     8
    29function Detail(detailwidget, name) {
    310        this.detailwidget = detailwidget;
     
    9198        if (this.name == 'query'){
    9299                if ($(this.content).find('.columns-selected').children('.widget-wrapper').length == 0){
     100                        var query = queryset.getQuery(this.temp_id);
     101                        //enrich link,xml
     102                        var links = "<a class='cmd cmd_xml' target='_blank' href='" + query.link("xml") + "'>xml</a> " +
     103                                "<a class='cmd cmd_link' target='_blank' href='" + query.link("fullpage") + "' >link</a>";
     104                        $(this.content).find('.cmds').append($(links));
     105                        //enrich selectionlist
    93106                        var selectionlist  = new SelectionList($(this.content).find('.columns-selected'));
    94107                        selectionlistset.add(selectionlist);
    95108                        selectionlist.load(jsonw["WorkspaceProfile"]["CustomTermsets"]);
    96                         var query = queryset.getQuery(this.temp_id);
    97109                        if (query.columns == ""){
    98110                                var autolist = "";
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_ui_helpers.js

    r1182 r1219  
    1 
     1/**
     2 * @fileOverview  The file contains UI concerned functions for building the pane structure from app settings
     3 * and a lot of other UI functionality for example tooltips, notifymessges, ui-block handling
     4 *
     5 * @author
     6 * @version
     7 */
    28function createBlock(name, _parent){
    39        var ui_array;
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_ui_load.js

    r1215 r1219  
    11
     2/**
     3 * @fileOverview  The file contains app load functionality. The load functions actualy used provides client side model building together with
     4 * ui building. The load module is independant from app pane-layout and all ui-layout functionality.
     5 *
     6 * @author
     7 * @version
     8 */
    29
    310function loadData(){
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_ui_settings.js

    r1215 r1219  
     1
     2/**
     3 * @fileOverview This file includes avv variables and possibilities of app settings concerned more areas:
     4 * data loading  - actions - possible to set details of data loading (uri)
     5 * pane structure
     6 *      - layout_settings[pane_name], layoutBaseSettings - sets the properties of particular panes (ui-layout plugin settings )
     7 *      - layout_initialisation - structure of particular pane placement
     8 * app functionality - blocks_settings - the properties of particular ui blocks (type of detail-window display, commands-TODO)
     9 * @author
     10 * @version
     11 */
     12
    113//VARIABLES
    214var jsonw;
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_widgets.js

    r1215 r1219  
    11
     2/**
     3 * @fileOverview The file builds important widgets used in app.
     4 * Actually widqets contained:
     5 * - notifyMessage model and bulding of set of notifyMessages
     6 * - listWidget - the compact widget for creation list of elements, possible add, remove elements, addition through html - input
     7 *      possible to use autocomplete
     8 * @author
     9 * @version
     10 */
    211 
    312function NotifyMessage(dt, msg){
Note: See TracChangeset for help on using the changeset viewer.