diff --git a/wise-webapp/src/main/java/com/wisemapping/rest/MindmapController.java b/wise-webapp/src/main/java/com/wisemapping/rest/MindmapController.java index a80ad327..a282f8b8 100644 --- a/wise-webapp/src/main/java/com/wisemapping/rest/MindmapController.java +++ b/wise-webapp/src/main/java/com/wisemapping/rest/MindmapController.java @@ -1,6 +1,7 @@ package com.wisemapping.rest; +import com.sun.jdi.IntegerType; import com.wisemapping.exceptions.WiseMappingException; import com.wisemapping.model.MindMap; import com.wisemapping.model.MindmapUser; @@ -24,15 +25,6 @@ import java.util.Calendar; import java.util.List; -/** - * Pendings: - * List with filter - * Clone - * Discard Changed - * Public ? - * Admin operations for get/update - * Check visibility - */ @Controller public class MindmapController extends BaseController { @Autowired @@ -125,6 +117,17 @@ public class MindmapController extends BaseController { mindmapService.removeMindmap(mindmap, user); } + @RequestMapping(method = RequestMethod.DELETE, value = "/maps/batch") + @ResponseStatus(value = HttpStatus.NO_CONTENT) + public void batchDelete(@RequestParam(required = false) String ids) throws IOException, WiseMappingException { + final User user = Utils.getUser(); + final String[] mapsIds = ids.split(","); + for (final String mapId : mapsIds) { + final MindMap mindmap = mindmapService.getMindmapById(Integer.parseInt(mapId)); + mindmapService.removeMindmap(mindmap, user); + } + } + @RequestMapping(method = RequestMethod.PUT, value = "/maps/{id}/xml", consumes = {"application/xml"}, produces = {"application/json", "text/html", "application/xml"}) @ResponseStatus(value = HttpStatus.NO_CONTENT) public void updateMapXml(@RequestBody String xml, @PathVariable int id, @RequestParam(required = false) boolean minor) throws IOException, WiseMappingException { diff --git a/wise-webapp/src/main/java/com/wisemapping/rest/model/RestMindmap.java b/wise-webapp/src/main/java/com/wisemapping/rest/model/RestMindmap.java index 7e042bee..122aee75 100644 --- a/wise-webapp/src/main/java/com/wisemapping/rest/model/RestMindmap.java +++ b/wise-webapp/src/main/java/com/wisemapping/rest/model/RestMindmap.java @@ -74,6 +74,11 @@ public class RestMindmap { return mindmap.isPublic(); } + + public void setPublic(boolean value) { + // return mindmap.isPublic(); + } + public String getXml() throws IOException { return mindmap.getXmlStr(); } diff --git a/wise-webapp/src/main/webapp/css/blank.gif b/wise-webapp/src/main/webapp/css/blank.gif deleted file mode 100644 index 75b945d2..00000000 Binary files a/wise-webapp/src/main/webapp/css/blank.gif and /dev/null differ diff --git a/wise-webapp/src/main/webapp/css/mymaps.css b/wise-webapp/src/main/webapp/css/mymaps.css deleted file mode 100644 index 14f58e71..00000000 --- a/wise-webapp/src/main/webapp/css/mymaps.css +++ /dev/null @@ -1,252 +0,0 @@ -@import "common.css"; - -#recentText { - width: 100px; - font-size: 12px; - font-weight: bold; - padding: 10px 5px 5px 0; - color: #808080; -} - -#mapListContainer { - padding: 15px; - height: 400px; -} - -#recentFiles { - margin: 10px auto 5px; - width: 900px; - height: 100%; - padding: 8px; -} - -#recentFiles a { - text-decoration: none; - color: #464545; -} - -#recentFiles a:hover { - color: #093A9D; -} - -#recentFiles .recentItemContainer { - height: 20px; - background-color: white; - padding: 0 0 0 7px; - margin-top: 4px; -} - -#recentFiles .recentItemIcon { - float: left; - width: 20px; - height: 15px; - background: url(../images/icon_list.png) no-repeat left; -} - -#recentFiles .recentItemTitle { - float: left; - padding-left: 0; - padding-right: 10px; - font-size: 12px; -} - -#mydocs { - margin: 20px auto; - width: 900px; - height: 300px; - padding: 10px; - background-color: #C3DEF5; - border: 1px solid #A7C6DF; -} - -#toolbar .button { - cursor: pointer; - border: 1px solid #E5E5E5; - float: left; - padding: 5px; - margin-right: 10px; - margin-left: 5px; - background-color: #838383; - color: white; - font-weight: bold; -} - -#mydocs .button a { - color: white; - text-decoration: none; -} - -#toolbar { - clear: both; - width: 900px; - height: 35px; - vertical-align: middle; - z-index: 3; - position: relative; -} - -#toolbar .buttonContainer { - float: left; - position: relative; - top: 50%; - margin: -12px 5px 0; - height: 24px; -} - -#toolbar .dropDownContainer { - margin-top: 5px; - height: 24px; -} - -#toolbar .buttonStart { - float: left; - width: 3px; - height: 24px; - background: url(../images/start_btn.gif) no-repeat left; -} - -#toolbar .buttonBody { - float: left; - height: 19px; - padding: 5px 5px 0; - background: url(../images/body_btn.gif); -} - -#toolbar .buttonEnd { - float: left; - width: 3px; - height: 24px; - background: url(../images/end_btn.gif) no-repeat left; -} - -#actionsBtn { - float: left; - position: relative; - top: 50%; - margin: -15px 5px 0; - width: 78px; - height: 30px; -} - -#newMapButton { - float: left; - position: relative; - top: 50%; - margin: -15px 5px 0; - width: 78px; - height: 30px; -} - -.menuItem { - color: black; - padding: 2px; - cursor: pointer; - text-align: center; -} - -#docTable .button { - cursor: pointer; -} - -#docTable { - clear: both; - width: 100%; - height: 250px; - overflow: auto; - border: 0 solid gray; - background-color: white; - z-index: 2; - position: relative; -} - -#docTable table { - width: 100%; - border: 0 solid gray; -} - -#docTable thead { - background-color: #093A9D; - font-size: 12px; - font-weight: normal; - padding: 5px; -} - -#docTable td { - border-bottom: 1px solid #EEEEEE; - color: #999999; - font-size: 12px; - padding: 3px; -} - -#docTable th { - color: white; - border-right: 1px dotted #ffffff; - font-weight: bold; - text-align: center; - font-size: 12px; - padding: 5px; -} - -#docTable tbody tr:hover { - background-color: #E2f0f6; -} - -#docTable tr { - padding: 5px; -} - -#docTable .mapTitle { - font-size: 13px; - color: #666666; - font-weight: bold; -} - -#docTable .mapTags { - font-size: 11px; - color: black; -} - -.content { - background-color: white; - height: 550px; -} - -#myDocsContainer { - width: 100%; - text-align: center; - float: left; -} - -#recentItems { - height: 100%; - padding: 10px; -} - -#recentFiles.sb { - background: #EEEEEE; - border: 1px solid #E5E5E5; - -moz-border-radius: 16px; - -khtml-border-radius: 16px; - -webkit-border-radius: 16px; - border-radius: 16px; -} - -#recentItems.sb { - background: white; - border: 1px solid #E5E5E5; - -moz-border-radius: 16px; - -khtml-border-radius: 16px; - -webkit-border-radius: 16px; - border-radius: 16px; -} - -#mydocs { - -moz-border-radius: 16px; - -khtml-border-radius: 16px; - -webkit-border-radius: 16px; - border-radius: 16px; -} - -.subMenu2 { - display: none; -} diff --git a/wise-webapp/src/main/webapp/html/css/table.less b/wise-webapp/src/main/webapp/css/mymaps.less similarity index 70% rename from wise-webapp/src/main/webapp/html/css/table.less rename to wise-webapp/src/main/webapp/css/mymaps.less index 9cf3aaa9..fadd047d 100644 --- a/wise-webapp/src/main/webapp/html/css/table.less +++ b/wise-webapp/src/main/webapp/css/mymaps.less @@ -1,3 +1,97 @@ +@import "css/common.css"; + +@html-background: #dedede repeat-x scroll; +@body-width: 956px; + +@font-family: "Lucida Grande", "Arial", "Helvetica", "Verdana", "sans-serif"; +@base-font-size: 11px; + +@base-margin: 10px; +@base-padding: @base-margin; +@base-border-size: 1px; +@base-color: #111; + +/* ----------------------------- General -------------------------------- */ + +#mindmapListContainer { + background: #FFFFFF; + margin: 0 auto; + width: @body-width; + padding: @base-padding; +} + +.rounded-corners (@radius: 5px) { + border-radius: @radius; + -webkit-border-radius: @radius; + -moz-border-radius: @radius; +} + +/* ------------------------------ Tags ---------------------------------- */ + +@tags-width: 20%; +@tags-border-size: @base-border-size; +@tags-padding: @base-padding; + +#tags { + width: @tags-width; + opacity: 0; + padding: @tags-padding; + float: left; + border-right: none; + position: absolute; + background: @base-color * 14.5; + border: @base-border-size solid @base-color * 14; + + h2 { + font-size: @base-font-size * 1.5; + margin-top: 0px; + } + + div.tag { + margin-bottom: @base-margin; + + .ui-icon { + float:left; + margin-right: @base-margin / 2; + position: relative; + top: -2px; + } + } + + #tags-actions { + margin-top: @base-margin; + } +} + +/* ------------------------------ Table --------------------------------- */ + +@table-gap: 2%; +@table-width: 100% - (@tags-width + (@tags-padding / @body-width * 100) + @table-gap); + +#map-table { + width: 100% !important; + display: inline-block; +} + +input#selectAll { + position: relative; + left: 4px; +} + +/* ----------------------------- Toolbar -------------------------------- */ + +#toolbar { + border: @tags-border-size solid @base-color * 11; + padding: @base-padding; + margin-bottom: @base-margin; +} + + +/* ----------------------------- Buttons -------------------------------- */ +#buttons { + margin-left: @tags-width; + margin-bottom: @base-margin; +} @even-color: #FFFFFF; @sorting-even-color: #EAEBFF; @@ -284,4 +378,12 @@ table.display span.tag { padding: 5px 10px; background: desaturate(@red, 30%); .rounded-corners(3px); +} + +#mindmapListTable .columName { + cursor: pointer +} + +#mindmapListTable tr:hover { + background: #e0ffff; } \ No newline at end of file diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-icons_222222_256x240.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-icons_222222_256x240.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-icons_222222_256x240.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-icons_222222_256x240.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-icons_228ef1_256x240.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-icons_228ef1_256x240.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-icons_228ef1_256x240.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-icons_228ef1_256x240.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-icons_ef8c08_256x240.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-icons_ef8c08_256x240.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-icons_ef8c08_256x240.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-icons_ef8c08_256x240.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-icons_ffd27a_256x240.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-icons_ffd27a_256x240.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-icons_ffd27a_256x240.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-icons_ffd27a_256x240.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-icons_ffffff_256x240.png b/wise-webapp/src/main/webapp/css/ui-lightness/images/ui-icons_ffffff_256x240.png old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/images/ui-icons_ffffff_256x240.png rename to wise-webapp/src/main/webapp/css/ui-lightness/images/ui-icons_ffffff_256x240.png diff --git a/wise-webapp/src/main/webapp/html/css/ui-lightness/jquery-ui-1.8.16.custom.css b/wise-webapp/src/main/webapp/css/ui-lightness/jquery-ui-1.8.16.custom.css old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/css/ui-lightness/jquery-ui-1.8.16.custom.css rename to wise-webapp/src/main/webapp/css/ui-lightness/jquery-ui-1.8.16.custom.css diff --git a/wise-webapp/src/main/webapp/html/css/styles.less b/wise-webapp/src/main/webapp/html/css/styles.less deleted file mode 100644 index c2bd1e58..00000000 --- a/wise-webapp/src/main/webapp/html/css/styles.less +++ /dev/null @@ -1,109 +0,0 @@ - -@html-background: #dedede repeat-x scroll; -@body-background: transparent no-repeat center top; -@body-width: 956px; - -@font-family: "Lucida Grande", "Arial", "Helvetica", "Verdana", "sans-serif"; -@base-font-size: 11px; - -@base-margin: 10px; -@base-padding: @base-margin; -@base-border-size: 1px; -@base-color: #111; - -/* ----------------------------- General -------------------------------- */ - -html { - overflow-y: scroll; - background: @html-background; -} - -body { - margin: 0; - padding: 0 20px 20px 20px; - background: @body-background; - min-height: 100%; - font-family: @font-family; - font-size: @base-font-size; -} - -#wrapper { - background: #FFFFFF; - margin: 0 auto; - width: @body-width; - position: relative; - padding: @base-padding; -} - -.rounded-corners (@radius: 5px) { - border-radius: @radius; - -webkit-border-radius: @radius; - -moz-border-radius: @radius; -} - -/* ------------------------------ Tags ---------------------------------- */ - -@tags-width: 20%; -@tags-border-size: @base-border-size; -@tags-padding: @base-padding; - -#tags { - width: @tags-width; - opacity: 0; - padding: @tags-padding; - float: left; - border-right: none; - position: absolute; - background: @base-color * 14.5; - border: @base-border-size solid @base-color * 14; - - h2 { - font-size: @base-font-size * 1.5; - margin-top: 0px; - } - - div.tag { - margin-bottom: @base-margin; - - .ui-icon { - float:left; - margin-right: @base-margin / 2; - position: relative; - top: -2px; - } - } - - #tags-actions { - margin-top: @base-margin; - } -} - -/* ------------------------------ Table --------------------------------- */ - -@table-gap: 2%; -@table-width: 100% - (@tags-width + (@tags-padding / @body-width * 100) + @table-gap); - -#map-table { - width: 100% !important; - display: inline-block; -} - -input#selectAll { - position: relative; - left: 4px; -} - -/* ----------------------------- Toolbar -------------------------------- */ - -#toolbar { - border: @tags-border-size solid @base-color * 11; - padding: @base-padding; - margin-bottom: @base-margin; -} - - -/* ----------------------------- Buttons -------------------------------- */ -#buttons { - margin-left: @tags-width; - margin-bottom: @base-margin; -} \ No newline at end of file diff --git a/wise-webapp/src/main/webapp/html/embedded.html b/wise-webapp/src/main/webapp/html/embedded.html deleted file mode 100644 index 5bcbabb7..00000000 --- a/wise-webapp/src/main/webapp/html/embedded.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - -
-

Embedding a map in a page

- - -
- - - - diff --git a/wise-webapp/src/main/webapp/html/images/Sorting icons.psd b/wise-webapp/src/main/webapp/html/images/Sorting icons.psd deleted file mode 100644 index 53b2e068..00000000 Binary files a/wise-webapp/src/main/webapp/html/images/Sorting icons.psd and /dev/null differ diff --git a/wise-webapp/src/main/webapp/html/js/jquery.dataTables.plugins.js b/wise-webapp/src/main/webapp/html/js/jquery.dataTables.plugins.js deleted file mode 100644 index cbbd9848..00000000 --- a/wise-webapp/src/main/webapp/html/js/jquery.dataTables.plugins.js +++ /dev/null @@ -1,43 +0,0 @@ -jQuery.fn.dataTableExt.oSort['es_date-asc'] = function(a,b) { - var esDatea = a.split('/'); - var esDateb = b.split('/'); - - var x = (esDatea[2] + esDatea[1] + esDatea[0]) * 1; - var y = (esDateb[2] + esDateb[1] + esDateb[0]) * 1; - - return ((x < y) ? -1 : ((x > y) ? 1 : 0)); -}; - -jQuery.fn.dataTableExt.oSort['es_date-desc'] = function(a,b) { - var esDatea = a.split('/'); - var esDateb = b.split('/'); - - var x = (esDatea[2] + esDatea[1] + esDatea[0]) * 1; - var y = (esDateb[2] + esDateb[1] + esDateb[0]) * 1; - - return ((x < y) ? 1 : ((x > y) ? -1 : 0)); -}; - -jQuery.fn.dataTableExt.selectAllMaps = function() { - var total = $('.select input:checkbox[id!="selectAll"]').size(); - var selected = $('.select input:checked[id!="selectAll"]').size(); - if (selected < total) { - $('.select input:!checked[id!="selectAll"]').each(function(index) { - $(this).prop("checked", true); - }); - } - else { - $('.select input:!checked[id!="selectAll"]').each(function(index) { - $(this).prop("checked", false); - }); - } -} - -jQuery.fn.dataTableExt.getSelectedMaps = function() { - var ids = []; - $('.select input:checked[id!="selectAll"]').each(function(index) { - ids.push($(this).attr("id")); - }); - - return ids; -} diff --git a/wise-webapp/src/main/webapp/html/js/less-1.1.3.min.js b/wise-webapp/src/main/webapp/html/js/less-1.1.3.min.js deleted file mode 100644 index 6e4d5cff..00000000 --- a/wise-webapp/src/main/webapp/html/js/less-1.1.3.min.js +++ /dev/null @@ -1,16 +0,0 @@ -// -// LESS - Leaner CSS v1.1.3 -// http://lesscss.org -// -// Copyright (c) 2009-2011, Alexis Sellier -// Licensed under the Apache 2.0 License. -// -// -// LESS - Leaner CSS v1.1.3 -// http://lesscss.org -// -// Copyright (c) 2009-2011, Alexis Sellier -// Licensed under the Apache 2.0 License. -// -(function(a,b){function v(a,b){var c="less-error-message:"+p(b),e=[""].join("\n"),f=document.createElement("div"),g,h;f.id=c,f.className="less-error-message",h="

"+(a.message||"There is an error in your .less file")+"

"+'

'+b+" ",a.extract&&(h+="on line "+a.line+", column "+(a.column+1)+":

"+e.replace(/\[(-?\d)\]/g,function(b,c){return parseInt(a.line)+parseInt(c)||""}).replace(/\{(\d)\}/g,function(b,c){return a.extract[parseInt(c)]||""}).replace(/\{current\}/,a.extract[1].slice(0,a.column)+''+a.extract[1].slice(a.column)+"")),f.innerHTML=h,q([".less-error-message ul, .less-error-message li {","list-style-type: none;","margin-right: 15px;","padding: 4px 0;","margin: 0;","}",".less-error-message label {","font-size: 12px;","margin-right: 15px;","padding: 4px 0;","color: #cc7777;","}",".less-error-message pre {","color: #ee4444;","padding: 4px 0;","margin: 0;","display: inline-block;","}",".less-error-message pre.ctx {","color: #dd4444;","}",".less-error-message h3 {","font-size: 20px;","font-weight: bold;","padding: 15px 0 5px 0;","margin: 0;","}",".less-error-message a {","color: #10a","}",".less-error-message .error {","color: red;","font-weight: bold;","padding-bottom: 2px;","border-bottom: 1px dashed red;","}"].join("\n"),{title:"error-message"}),f.style.cssText=["font-family: Arial, sans-serif","border: 1px solid #e00","background-color: #eee","border-radius: 5px","-webkit-border-radius: 5px","-moz-border-radius: 5px","color: #e00","padding: 15px","margin-bottom: 15px"].join(";"),d.env=="development"&&(g=setInterval(function(){document.body&&(document.getElementById(c)?document.body.replaceChild(f,document.getElementById(c)):document.body.insertBefore(f,document.body.firstChild),clearInterval(g))},10))}function u(a){d.env=="development"&&typeof console!="undefined"&&console.log("less: "+a)}function t(a){return a&&a.parentNode.removeChild(a)}function s(){if(a.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(b){u("browser doesn't support AJAX.");return null}}function r(a,b,c,e){function i(b,c,d){b.status>=200&&b.status<300?c(b.responseText,b.getResponseHeader("Last-Modified")):typeof d=="function"&&d(b.status,a)}var f=s(),h=g?!1:d.async;typeof f.overrideMimeType=="function"&&f.overrideMimeType("text/css"),f.open("GET",a,h),f.setRequestHeader("Accept",b||"text/x-less, text/css; q=0.9, */*; q=0.5"),f.send(null),g?f.status===0?c(f.responseText):e(f.status,a):h?f.onreadystatechange=function(){f.readyState==4&&i(f,c,e)}:i(f,c,e)}function q(a,b,c){var d,e=b.href?b.href.replace(/\?.*$/,""):"",f="less:"+(b.title||p(e));(d=document.getElementById(f))===null&&(d=document.createElement("style"),d.type="text/css",d.media=b.media||"screen",d.id=f,document.getElementsByTagName("head")[0].appendChild(d));if(d.styleSheet)try{d.styleSheet.cssText=a}catch(g){throw new Error("Couldn't reassign styleSheet.cssText.")}else(function(a){d.childNodes.length>0?d.firstChild.nodeValue!==a.nodeValue&&d.replaceChild(a,d.firstChild):d.appendChild(a)})(document.createTextNode(a));c&&h&&(u("saving "+e+" to cache."),h.setItem(e,a),h.setItem(e+":timestamp",c))}function p(a){return a.replace(/^[a-z]+:\/\/?[^\/]+/,"").replace(/^\//,"").replace(/\?.*$/,"").replace(/\.[^\.\/]+$/,"").replace(/[^\.\w-]+/g,"-").replace(/\./g,":")}function o(b,c,e,f){var g=a.location.href.replace(/[#?].*$/,""),i=b.href.replace(/\?.*$/,""),j=h&&h.getItem(i),k=h&&h.getItem(i+":timestamp"),l={css:j,timestamp:k};/^(https?|file):/.test(i)||(i.charAt(0)=="/"?i=a.location.protocol+"//"+a.location.host+i:i=g.slice(0,g.lastIndexOf("/")+1)+i),r(b.href,b.type,function(a,g){if(!e&&l&&g&&(new Date(g)).valueOf()===(new Date(l.timestamp)).valueOf())q(l.css,b),c(null,b,{local:!0,remaining:f});else try{(new d.Parser({optimization:d.optimization,paths:[i.replace(/[\w\.-]+$/,"")],mime:b.type})).parse(a,function(a,d){if(a)return v(a,i);try{c(d,b,{local:!1,lastModified:g,remaining:f}),t(document.getElementById("less-error-message:"+p(i)))}catch(a){v(a,i)}})}catch(h){v(h,i)}},function(a,b){throw new Error("Couldn't load "+b+" ("+a+")")})}function n(a,b){for(var c=0;c>>0;for(var d=0;d>>0,c=Array(b),d=arguments[1];for(var e=0;e>>0,c=0;if(b===0&&arguments.length===1)throw new TypeError;if(arguments.length>=2)var d=arguments[1];else for(;;){if(c in this){d=this[c++];break}if(++c>=b)throw new TypeError}for(;c=b)return-1;c<0&&(c+=b);for(;ck&&(j[f]=j[f].slice(c-k),k=c)}function q(){j[f]=g,c=h,k=c}function p(){g=j[f],h=c,k=c}var b,c,f,g,h,i,j,k,l,m=this,n=function(){},o=this.imports={paths:a&&a.paths||[],queue:[],files:{},mime:a&&a.mime,push:function(b,c){var e=this;this.queue.push(b),d.Parser.importer(b,this.paths,function(a){e.queue.splice(e.queue.indexOf(b),1),e.files[b]=a,c(a),e.queue.length===0&&n()},a)}};this.env=a=a||{},this.optimization="optimization"in this.env?this.env.optimization:1,this.env.filename=this.env.filename||null;return l={imports:o,parse:function(d,g){var h,l,m,o,p,q,r=[],t,u=null;c=f=k=i=0,j=[],b=d.replace(/\r\n/g,"\n"),j=function(c){var d=0,e=/[^"'`\{\}\/\(\)]+/g,f=/\/\*(?:[^*]|\*+[^\/*])*\*+\/|\/\/.*/g,g=0,h,i=c[0],j,k;for(var l=0,m,n;l0)throw{type:"Syntax",message:"Missing closing `}`",filename:a.filename};return c.map(function(a){return a.join("")})}([[]]),h=new e.Ruleset([],s(this.parsers.primary)),h.root=!0,h.toCSS=function(c){var d,f,g;return function(g,h){function n(a){return a?(b.slice(0,a).match(/\n/g)||"").length:null}var i=[];g=g||{},typeof h=="object"&&!Array.isArray(h)&&(h=Object.keys(h).map(function(a){var b=h[a];b instanceof e.Value||(b instanceof e.Expression||(b=new e.Expression([b])),b=new e.Value([b]));return new e.Rule("@"+a,b,!1,0)}),i=[new e.Ruleset(null,h)]);try{var j=c.call(this,{frames:i}).toCSS([],{compress:g.compress||!1})}catch(k){f=b.split("\n"),d=n(k.index);for(var l=k.index,m=-1;l>=0&&b.charAt(l)!=="\n";l--)m++;throw{type:k.type,message:k.message,filename:a.filename,index:k.index,line:typeof d=="number"?d+1:null,callLine:k.call&&n(k.call)+1,callExtract:f[n(k.call)],stack:k.stack,column:m,extract:[f[d-1],f[d],f[d+1]]}}return g.compress?j.replace(/(\s)+/g,"$1"):j}}(h.eval);if(c=0&&b.charAt(v)!=="\n";v--)w++;u={name:"ParseError",message:"Syntax Error on line "+p,index:c,filename:a.filename,line:p,column:w,extract:[q[p-2],q[p-1],q[p]]}}this.imports.queue.length>0?n=function(){g(u,h)}:g(u,h)},parsers:{primary:function(){var a,b=[];while((a=s(this.mixin.definition)||s(this.rule)||s(this.ruleset)||s(this.mixin.call)||s(this.comment)||s(this.directive))||s(/^[\s\n]+/))a&&b.push(a);return b},comment:function(){var a;if(b.charAt(c)==="/"){if(b.charAt(c+1)==="/")return new e.Comment(s(/^\/\/.*/),!0);if(a=s(/^\/\*(?:[^*]|\*+[^\/*])*\*+\/\n?/))return new e.Comment(a)}},entities:{quoted:function(){var a,d=c,f;b.charAt(d)==="~"&&(d++,f=!0);if(b.charAt(d)==='"'||b.charAt(d)==="'"){f&&s("~");if(a=s(/^"((?:[^"\\\r\n]|\\.)*)"|'((?:[^'\\\r\n]|\\.)*)'/))return new e.Quoted(a[0],a[1]||a[2],f)}},keyword:function(){var a;if(a=s(/^[A-Za-z-]+/))return new e.Keyword(a)},call:function(){var a,b,d=c;if(!!(a=/^([\w-]+|%)\(/.exec(j[f]))){a=a[1].toLowerCase();if(a==="url")return null;c+=a.length;if(a==="alpha")return s(this.alpha);s("("),b=s(this.entities.arguments);if(!s(")"))return;if(a)return new e.Call(a,b,d)}},arguments:function(){var a=[],b;while(b=s(this.expression)){a.push(b);if(!s(","))break}return a},literal:function(){return s(this.entities.dimension)||s(this.entities.color)||s(this.entities.quoted)},url:function(){var a;if(b.charAt(c)==="u"&&!!s(/^url\(/)){a=s(this.entities.quoted)||s(this.entities.variable)||s(this.entities.dataURI)||s(/^[-\w%@$\/.&=:;#+?~]+/)||"";if(!s(")"))throw new Error("missing closing ) for url()");return new e.URL(a.value||a.data||a instanceof e.Variable?a:new e.Anonymous(a),o.paths)}},dataURI:function(){var a;if(s(/^data:/)){a={},a.mime=s(/^[^\/]+\/[^,;)]+/)||"",a.charset=s(/^;\s*charset=[^,;)]+/)||"",a.base64=s(/^;\s*base64/)||"",a.data=s(/^,\s*[^)]+/);if(a.data)return a}},variable:function(){var a,d=c;if(b.charAt(c)==="@"&&(a=s(/^@@?[\w-]+/)))return new e.Variable(a,d)},color:function(){var a;if(b.charAt(c)==="#"&&(a=s(/^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})/)))return new e.Color(a[1])},dimension:function(){var a,d=b.charCodeAt(c);if(!(d>57||d<45||d===47))if(a=s(/^(-?\d*\.?\d+)(px|%|em|pc|ex|in|deg|s|ms|pt|cm|mm|rad|grad|turn)?/))return new e.Dimension(a[1],a[2])},javascript:function(){var a,d=c,f;b.charAt(d)==="~"&&(d++,f=!0);if(b.charAt(d)==="`"){f&&s("~");if(a=s(/^`([^`]*)`/))return new e.JavaScript(a[1],c,f)}}},variable:function(){var a;if(b.charAt(c)==="@"&&(a=s(/^(@[\w-]+)\s*:/)))return a[1]},shorthand:function(){var a,b;if(!!t(/^[@\w.%-]+\/[@\w.-]+/)&&(a=s(this.entity))&&s("/")&&(b=s(this.entity)))return new e.Shorthand(a,b)},mixin:{call:function(){var a=[],d,f,g,h=c,i=b.charAt(c);if(i==="."||i==="#"){while(d=s(/^[#.](?:[\w-]|\\(?:[a-fA-F0-9]{1,6} ?|[^a-fA-F0-9]))+/))a.push(new e.Element(f,d)),f=s(">");s("(")&&(g=s(this.entities.arguments))&&s(")");if(a.length>0&&(s(";")||t("}")))return new e.mixin.Call(a,g,h)}},definition:function(){var a,d=[],f,g,h,i;if(!(b.charAt(c)!=="."&&b.charAt(c)!=="#"||t(/^[^{]*(;|})/)))if(f=s(/^([#.](?:[\w-]|\\(?:[a-fA-F0-9]{1,6} ?|[^a-fA-F0-9]))+)\s*\(/)){a=f[1];while(h=s(this.entities.variable)||s(this.entities.literal)||s(this.entities.keyword)){if(h instanceof e.Variable)if(s(":"))if(i=s(this.expression))d.push({name:h.name,value:i});else throw new Error("Expected value");else d.push({name:h.name});else d.push({value:h});if(!s(","))break}if(!s(")"))throw new Error("Expected )");g=s(this.block);if(g)return new e.mixin.Definition(a,d,g)}}},entity:function(){return s(this.entities.literal)||s(this.entities.variable)||s(this.entities.url)||s(this.entities.call)||s(this.entities.keyword)||s(this.entities.javascript)||s(this.comment)},end:function(){return s(";")||t("}")},alpha:function(){var a;if(!!s(/^\(opacity=/i))if(a=s(/^\d+/)||s(this.entities.variable)){if(!s(")"))throw new Error("missing closing ) for alpha()");return new e.Alpha(a)}},element:function(){var a,b,c;c=s(this.combinator),a=s(/^(?:[.#]?|:*)(?:[\w-]|\\(?:[a-fA-F0-9]{1,6} ?|[^a-fA-F0-9]))+/)||s("*")||s(this.attribute)||s(/^\([^)@]+\)/);if(a)return new e.Element(c,a)},combinator:function(){var a,d=b.charAt(c);if(d===">"||d==="&"||d==="+"||d==="~"){c++;while(b.charAt(c)===" ")c++;return new e.Combinator(d)}if(d===":"&&b.charAt(c+1)===":"){c+=2;while(b.charAt(c)===" ")c++;return new e.Combinator("::")}return b.charAt(c-1)===" "?new e.Combinator(" "):new e.Combinator(null)},selector:function(){var a,d,f=[],g,h;while(d=s(this.element)){g=b.charAt(c),f.push(d);if(g==="{"||g==="}"||g===";"||g===",")break}if(f.length>0)return new e.Selector(f)},tag:function(){return s(/^[a-zA-Z][a-zA-Z-]*[0-9]?/)||s("*")},attribute:function(){var a="",b,c,d;if(!!s("[")){if(b=s(/^[a-zA-Z-]+/)||s(this.entities.quoted))(d=s(/^[|~*$^]?=/))&&(c=s(this.entities.quoted)||s(/^[\w-]+/))?a=[b,d,c.toCSS?c.toCSS():c].join(""):a=b;if(!s("]"))return;if(a)return"["+a+"]"}},block:function(){var a;if(s("{")&&(a=s(this.primary))&&s("}"))return a},ruleset:function(){var a=[],b,d,g;p();if(g=/^([.#: \w-]+)[\s\n]*\{/.exec(j[f]))c+=g[0].length-1,a=[new e.Selector([new e.Element(null,g[1])])];else while(b=s(this.selector)){a.push(b),s(this.comment);if(!s(","))break;s(this.comment)}if(a.length>0&&(d=s(this.block)))return new e.Ruleset(a,d);i=c,q()},rule:function(){var a,d,g=b.charAt(c),k,l;p();if(g!=="."&&g!=="#"&&g!=="&")if(a=s(this.variable)||s(this.property)){a.charAt(0)!="@"&&(l=/^([^@+\/'"*`(;{}-]*);/.exec(j[f]))?(c+=l[0].length-1,d=new e.Anonymous(l[1])):a==="font"?d=s(this.font):d=s(this.value),k=s(this.important);if(d&&s(this.end))return new e.Rule(a,d,k,h);i=c,q()}},"import":function(){var a;if(s(/^@import\s+/)&&(a=s(this.entities.quoted)||s(this.entities.url))&&s(";"))return new e.Import(a,o)},directive:function(){var a,d,f,g;if(b.charAt(c)==="@"){if(d=s(this["import"]))return d;if(a=s(/^@media|@page|@-[-a-z]+/)){g=(s(/^[^{]+/)||"").trim();if(f=s(this.block))return new e.Directive(a+" "+g,f)}else if(a=s(/^@[-a-z]+/))if(a==="@font-face"){if(f=s(this.block))return new e.Directive(a,f)}else if((d=s(this.entity))&&s(";"))return new e.Directive(a,d)}},font:function(){var a=[],b=[],c,d,f,g;while(g=s(this.shorthand)||s(this.entity))b.push(g);a.push(new e.Expression(b));if(s(","))while(g=s(this.expression)){a.push(g);if(!s(","))break}return new e.Value(a)},value:function(){var a,b=[],c;while(a=s(this.expression)){b.push(a);if(!s(","))break}if(b.length>0)return new e.Value(b)},important:function(){if(b.charAt(c)==="!")return s(/^! *important/)},sub:function(){var a;if(s("(")&&(a=s(this.expression))&&s(")"))return a},multiplication:function(){var a,b,c,d;if(a=s(this.operand)){while((c=s("/")||s("*"))&&(b=s(this.operand)))d=new e.Operation(c,[d||a,b]);return d||a}},addition:function(){var a,d,f,g;if(a=s(this.multiplication)){while((f=s(/^[-+]\s+/)||b.charAt(c-1)!=" "&&(s("+")||s("-")))&&(d=s(this.multiplication)))g=new e.Operation(f,[g||a,d]);return g||a}},operand:function(){var a,d=b.charAt(c+1);b.charAt(c)==="-"&&(d==="@"||d==="(")&&(a=s("-"));var f=s(this.sub)||s(this.entities.dimension)||s(this.entities.color)||s(this.entities.variable)||s(this.entities.call);return a?new e.Operation("*",[new e.Dimension(-1),f]):f},expression:function(){var a,b,c=[],d;while(a=s(this.addition)||s(this.entity))c.push(a);if(c.length>0)return new e.Expression(c)},property:function(){var a;if(a=s(/^(\*?-?[-a-z_0-9]+)\s*:/))return a[1]}}}},typeof a!="undefined"&&(d.Parser.importer=function(a,b,c,d){a.charAt(0)!=="/"&&b.length>0&&(a=b[0]+a),o({href:a,title:a,type:d.mime},c,!0)}),function(a){function d(a){return Math.min(1,Math.max(0,a))}function c(b){if(b instanceof a.Dimension)return parseFloat(b.unit=="%"?b.value/100:b.value);if(typeof b=="number")return b;throw{error:"RuntimeError",message:"color functions take numbers as parameters"}}function b(b){return a.functions.hsla(b.h,b.s,b.l,b.a)}a.functions={rgb:function(a,b,c){return this.rgba(a,b,c,1)},rgba:function(b,d,e,f){var g=[b,d,e].map(function(a){return c(a)}),f=c(f);return new a.Color(g,f)},hsl:function(a,b,c){return this.hsla(a,b,c,1)},hsla:function(a,b,d,e){function h(a){a=a<0?a+1:a>1?a-1:a;return a*6<1?g+(f-g)*a*6:a*2<1?f:a*3<2?g+(f-g)*(2/3-a)*6:g}a=c(a)%360/360,b=c(b),d=c(d),e=c(e);var f=d<=.5?d*(b+1):d+b-d*b,g=d*2-f;return this.rgba(h(a+1/3)*255,h(a)*255,h(a-1/3)*255,e)},hue:function(b){return new a.Dimension(Math.round(b.toHSL().h))},saturation:function(b){return new a.Dimension(Math.round(b.toHSL().s*100),"%")},lightness:function(b){return new a.Dimension(Math.round(b.toHSL().l*100),"%")},alpha:function(b){return new a.Dimension(b.toHSL().a)},saturate:function(a,c){var e=a.toHSL();e.s+=c.value/100,e.s=d(e.s);return b(e)},desaturate:function(a,c){var e=a.toHSL();e.s-=c.value/100,e.s=d(e.s);return b(e)},lighten:function(a,c){var e=a.toHSL();e.l+=c.value/100,e.l=d(e.l);return b(e)},darken:function(a,c){var e=a.toHSL();e.l-=c.value/100,e.l=d(e.l);return b(e)},fadein:function(a,c){var e=a.toHSL();e.a+=c.value/100,e.a=d(e.a);return b(e)},fadeout:function(a,c){var e=a.toHSL();e.a-=c.value/100,e.a=d(e.a);return b(e)},spin:function(a,c){var d=a.toHSL(),e=(d.h+c.value)%360;d.h=e<0?360+e:e;return b(d)},mix:function(b,c,d){var e=d.value/100,f=e*2-1,g=b.toHSL().a-c.toHSL().a,h=((f*g==-1?f:(f+g)/(1+f*g))+1)/2,i=1-h,j=[b.rgb[0]*h+c.rgb[0]*i,b.rgb[1]*h+c.rgb[1]*i,b.rgb[2]*h+c.rgb[2]*i],k=b.alpha*e+c.alpha*(1-e);return new a.Color(j,k)},greyscale:function(b){return this.desaturate(b,new a.Dimension(100))},e:function(b){return new a.Anonymous(b instanceof a.JavaScript?b.evaluated:b)},escape:function(b){return new a.Anonymous(encodeURI(b.value).replace(/=/g,"%3D").replace(/:/g,"%3A").replace(/#/g,"%23").replace(/;/g,"%3B").replace(/\(/g,"%28").replace(/\)/g,"%29"))},"%":function(b){var c=Array.prototype.slice.call(arguments,1),d=b.value;for(var e=0;e255?255:a<0?0:a).toString(16);return a.length===1?"0"+a:a}).join("")},operate:function(b,c){var d=[];c instanceof a.Color||(c=c.toColor());for(var e=0;e<3;e++)d[e]=a.operate(b,this.rgb[e],c.rgb[e]);return new a.Color(d,this.alpha+c.alpha)},toHSL:function(){var a=this.rgb[0]/255,b=this.rgb[1]/255,c=this.rgb[2]/255,d=this.alpha,e=Math.max(a,b,c),f=Math.min(a,b,c),g,h,i=(e+f)/2,j=e-f;if(e===f)g=h=0;else{h=i>.5?j/(2-e-f):j/(e+f);switch(e){case a:g=(b-c)/j+(b":a.compress?">":" > "}[this.value]}}(c("less/tree")),function(a){a.Expression=function(a){this.value=a},a.Expression.prototype={eval:function(b){return this.value.length>1?new a.Expression(this.value.map(function(a){return a.eval(b)})):this.value.length===1?this.value[0].eval(b):this},toCSS:function(a){return this.value.map(function(b){return b.toCSS(a)}).join(" ")}}}(c("less/tree")),function(a){a.Import=function(b,c){var d=this;this._path=b,b instanceof a.Quoted?this.path=/\.(le?|c)ss$/.test(b.value)?b.value:b.value+".less":this.path=b.value.value||b.value,this.css=/css$/.test(this.path),this.css||c.push(this.path,function(a){if(!a)throw new Error("Error parsing "+d.path);d.root=a})},a.Import.prototype={toCSS:function(){return this.css?"@import "+this._path.toCSS()+";\n":""},eval:function(b){var c;if(this.css)return this;c=new a.Ruleset(null,this.root.rules.slice(0));for(var d=0;d0){c=this.arguments&&this.arguments.map(function(b){return b.eval(a)});for(var g=0;g0&&c>this.params.length)return!1;d=Math.min(c,this.arity);for(var e=0;e1?Array.prototype.push.apply(d,e.find(new a.Selector(b.elements.slice(1)),c)):d.push(e);break}});return this._lookups[g]=d},toCSS:function(b,c){var d=[],e=[],f=[],g=[],h,i;if(!this.root)if(b.length===0)g=this.selectors.map(function(a){return[a]});else for(var j=0;j0&&(h=g.map(function(a){return a.map(function(a){return a.toCSS(c)}).join("").trim()}).join(c.compress?",":g.length>3?",\n":", "),d.push(h,(c.compress?"{":" {\n ")+e.join(c.compress?"":"\n ")+(c.compress?"}":"\n}\n"))),d.push(f);return d.join("")+(c.compress?"\n":"")}}}(c("less/tree")),function(a){a.Selector=function(a){this.elements=a,this.elements[0].combinator.value===""&&(this.elements[0].combinator.value=" ")},a.Selector.prototype.match=function(a){return this.elements[0].value===a.elements[0].value?!0:!1},a.Selector.prototype.toCSS=function(a){if(this._css)return this._css;return this._css=this.elements.map(function(b){return typeof b=="string"?" "+b.trim():b.toCSS(a)}).join("")}}(c("less/tree")),function(b){b.URL=function(b,c){b.data?this.attrs=b:(!/^(?:https?:\/|file:\/|data:\/)?\//.test(b.value)&&c.length>0&&typeof a!="undefined"&&(b.value=c[0]+(b.value.charAt(0)==="/"?b.value.slice(1):b.value)),this.value=b,this.paths=c)},b.URL.prototype={toCSS:function(){return"url("+(this.attrs?"data:"+this.attrs.mime+this.attrs.charset+this.attrs.base64+this.attrs.data:this.value.toCSS())+")"},eval:function(a){return this.attrs?this:new b.URL(this.value.eval(a),this.paths)}}}(c("less/tree")),function(a){a.Value=function(a){this.value=a,this.is="value"},a.Value.prototype={eval:function(b){return this.value.length===1?this.value[0].eval(b):new a.Value(this.value.map(function(a){return a.eval(b)}))},toCSS:function(a){return this.value.map(function(b){return b.toCSS(a)}).join(a.compress?",":", ")}}}(c("less/tree")),function(a){a.Variable=function(a,b){this.name=a,this -.index=b},a.Variable.prototype={eval:function(b){var c,d,e=this.name;e.indexOf("@@")==0&&(e="@"+(new a.Variable(e.slice(1))).eval(b).value);if(c=a.find(b.frames,function(a){if(d=a.variable(e))return d.value.eval(b)}))return c;throw{message:"variable "+e+" is undefined",index:this.index}}}}(c("less/tree")),c("less/tree").find=function(a,b){for(var c=0,d;c1?"["+a.value.map(function(a){return a.toCSS(!1)}).join(", ")+"]":a.toCSS(!1)};var g=location.protocol==="file:"||location.protocol==="chrome:"||location.protocol==="chrome-extension:"||location.protocol==="resource:";d.env=d.env||(location.hostname=="127.0.0.1"||location.hostname=="0.0.0.0"||location.hostname=="localhost"||location.port.length>0||g?"development":"production"),d.async=!1,d.poll=d.poll||(g?1e3:1500),d.watch=function(){return this.watchMode=!0},d.unwatch=function(){return this.watchMode=!1},d.env==="development"?(d.optimization=0,/!watch/.test(location.hash)&&d.watch(),d.watchTimer=setInterval(function(){d.watchMode&&n(function(a,b,c){a&&q(a.toCSS(),b,c.lastModified)})},d.poll)):d.optimization=3;var h;try{h=typeof a.localStorage=="undefined"?null:a.localStorage}catch(i){h=null}var j=document.getElementsByTagName("link"),k=/^text\/(x-)?less$/;d.sheets=[];for(var l=0;l - - - WiseMApping Workspace - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - - - - - -
- -
-
-

Mes dossiers:

-
-
- -
-
-
-
-
- - \ No newline at end of file diff --git a/wise-webapp/src/main/webapp/html/images/back_disabled.jpg b/wise-webapp/src/main/webapp/images/back_disabled.jpg similarity index 100% rename from wise-webapp/src/main/webapp/html/images/back_disabled.jpg rename to wise-webapp/src/main/webapp/images/back_disabled.jpg diff --git a/wise-webapp/src/main/webapp/html/images/back_enabled.jpg b/wise-webapp/src/main/webapp/images/back_enabled.jpg similarity index 100% rename from wise-webapp/src/main/webapp/html/images/back_enabled.jpg rename to wise-webapp/src/main/webapp/images/back_enabled.jpg diff --git a/wise-webapp/src/main/webapp/html/images/forward_disabled.jpg b/wise-webapp/src/main/webapp/images/forward_disabled.jpg similarity index 100% rename from wise-webapp/src/main/webapp/html/images/forward_disabled.jpg rename to wise-webapp/src/main/webapp/images/forward_disabled.jpg diff --git a/wise-webapp/src/main/webapp/html/images/forward_enabled.jpg b/wise-webapp/src/main/webapp/images/forward_enabled.jpg similarity index 100% rename from wise-webapp/src/main/webapp/html/images/forward_enabled.jpg rename to wise-webapp/src/main/webapp/images/forward_enabled.jpg diff --git a/wise-webapp/src/main/webapp/html/images/sort_asc.png b/wise-webapp/src/main/webapp/images/sort_asc.png similarity index 100% rename from wise-webapp/src/main/webapp/html/images/sort_asc.png rename to wise-webapp/src/main/webapp/images/sort_asc.png diff --git a/wise-webapp/src/main/webapp/html/images/sort_asc_disabled.png b/wise-webapp/src/main/webapp/images/sort_asc_disabled.png similarity index 100% rename from wise-webapp/src/main/webapp/html/images/sort_asc_disabled.png rename to wise-webapp/src/main/webapp/images/sort_asc_disabled.png diff --git a/wise-webapp/src/main/webapp/html/images/sort_both.png b/wise-webapp/src/main/webapp/images/sort_both.png similarity index 100% rename from wise-webapp/src/main/webapp/html/images/sort_both.png rename to wise-webapp/src/main/webapp/images/sort_both.png diff --git a/wise-webapp/src/main/webapp/html/images/sort_desc.png b/wise-webapp/src/main/webapp/images/sort_desc.png similarity index 100% rename from wise-webapp/src/main/webapp/html/images/sort_desc.png rename to wise-webapp/src/main/webapp/images/sort_desc.png diff --git a/wise-webapp/src/main/webapp/html/images/sort_desc_disabled.png b/wise-webapp/src/main/webapp/images/sort_desc_disabled.png similarity index 100% rename from wise-webapp/src/main/webapp/html/images/sort_desc_disabled.png rename to wise-webapp/src/main/webapp/images/sort_desc_disabled.png diff --git a/wise-webapp/src/main/webapp/html/js/jquery-ui-1.8.16.custom.min.js b/wise-webapp/src/main/webapp/js/jquery-ui-1.8.16.custom.min.js old mode 100755 new mode 100644 similarity index 100% rename from wise-webapp/src/main/webapp/html/js/jquery-ui-1.8.16.custom.min.js rename to wise-webapp/src/main/webapp/js/jquery-ui-1.8.16.custom.min.js diff --git a/wise-webapp/src/main/webapp/html/js/jquery.dataTables.js b/wise-webapp/src/main/webapp/js/jquery.dataTables.js similarity index 100% rename from wise-webapp/src/main/webapp/html/js/jquery.dataTables.js rename to wise-webapp/src/main/webapp/js/jquery.dataTables.js diff --git a/wise-webapp/src/main/webapp/html/js/jquery.dataTables.min.js b/wise-webapp/src/main/webapp/js/jquery.dataTables.min.js similarity index 100% rename from wise-webapp/src/main/webapp/html/js/jquery.dataTables.min.js rename to wise-webapp/src/main/webapp/js/jquery.dataTables.min.js diff --git a/wise-webapp/src/main/webapp/js/jquery.dataTables.plugins.js b/wise-webapp/src/main/webapp/js/jquery.dataTables.plugins.js new file mode 100644 index 00000000..0a714f12 --- /dev/null +++ b/wise-webapp/src/main/webapp/js/jquery.dataTables.plugins.js @@ -0,0 +1,65 @@ +jQuery.fn.dataTableExt.oSort['es_date-asc'] = function(a, b) { + var esDatea = a.split('/'); + var esDateb = b.split('/'); + + var x = (esDatea[2] + esDatea[1] + esDatea[0]) * 1; + var y = (esDateb[2] + esDateb[1] + esDateb[0]) * 1; + + return ((x < y) ? -1 : ((x > y) ? 1 : 0)); +}; + +jQuery.fn.dataTableExt.oSort['es_date-desc'] = function(a, b) { + var esDatea = a.split('/'); + var esDateb = b.split('/'); + + var x = (esDatea[2] + esDatea[1] + esDatea[0]) * 1; + var y = (esDateb[2] + esDateb[1] + esDateb[0]) * 1; + + return ((x < y) ? 1 : ((x > y) ? -1 : 0)); +}; + +jQuery.fn.dataTableExt.selectAllMaps = function() { + var total = $('.select input:checkbox[id!="selectAll"]').size(); + var selected = $('.select input:checked[id!="selectAll"]').size(); + if (selected < total) { + $('.select input:!checked[id!="selectAll"]').each(function() { + $(this).prop("checked", true); + }); + } + else { + $('.select input:!checked[id!="selectAll"]').each(function() { + $(this).prop("checked", false); + }); + } +}; + +jQuery.fn.dataTableExt.getSelectedMapsIds = function() { + var ids = []; + $('.select input:checked[id!="selectAll"]').each(function() { + var id = $(this).attr("id"); + ids.push(id); + }); + + return ids; +}; + +jQuery.fn.dataTableExt.removeSelectedRows = function() { + var mapIds = this.getSelectedMapsIds(); + jQuery.ajax({ + async:false, + url: "../service/maps/batch?ids=" + mapIds.join(","), + type:"DELETE", + success : function(data, textStatus, jqXHR) { + console.log("delete success"); + var trs = $('.select input:checked[id!="selectAll"]').parent().parent(); + trs.each(function() { + $('#mindmapListTable').dataTable().fnDeleteRow(this); + }); + }, + error: function(){ + alert("Unexpected error removing maps. Refresh before continue."); + } + }); + + +}; diff --git a/wise-webapp/src/main/webapp/html/js/jquery.js b/wise-webapp/src/main/webapp/js/jquery.js similarity index 100% rename from wise-webapp/src/main/webapp/html/js/jquery.js rename to wise-webapp/src/main/webapp/js/jquery.js diff --git a/wise-webapp/src/main/webapp/jsp/header.jsp b/wise-webapp/src/main/webapp/jsp/header.jsp index 751b1557..751ababe 100644 --- a/wise-webapp/src/main/webapp/jsp/header.jsp +++ b/wise-webapp/src/main/webapp/jsp/header.jsp @@ -62,6 +62,4 @@ -
- -
+ diff --git a/wise-webapp/src/main/webapp/jsp/mindmapList.jsp b/wise-webapp/src/main/webapp/jsp/mindmapList.jsp index b269512f..2025b3d7 100644 --- a/wise-webapp/src/main/webapp/jsp/mindmapList.jsp +++ b/wise-webapp/src/main/webapp/jsp/mindmapList.jsp @@ -1,454 +1,250 @@ -<%@ page import="com.wisemapping.view.MindMapBean" %> -<%@ page import="java.util.List" %> -<%@ page import="java.util.Collections" %> -<%@ page import="java.util.ArrayList" %> <%@ include file="/jsp/init.jsp" %> - - <spring:message code="SITE.TITLE"/> - - - - - - + +<spring:message code="SITE.TITLE"/> + + + + + + + + + + + + + + + + + + + + + + + +
- - - - + + + + +
+
- - - - - - - +
-
- -
- -
-
- -
-
-
- <% - int MAX_RECENT_MAPS = 6; - List list = (List) request.getAttribute("wisemapsList"); - if (list != null && !list.isEmpty()) { - List recentMaps = new ArrayList(); - recentMaps.addAll(list); - Collections.sort(recentMaps, new MindMapBean.MindMapBeanComparator()); - for (int i = recentMaps.size() - 1; i >= 0 && i >= recentMaps.size() - MAX_RECENT_MAPS; i--) { - %> - -
-
- - <%=recentMaps.get(i).getTitle()%> - +
+ - - <% - } - } else { - %> -
- + + + + + +
+ +
+
+

Mes dossiers:

+ +
+
+ +
+
+
+ + +
- <% - } - %>
-
-
- -
-
- "> - - -
- -
-
- "> - - -
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -   -
-
-
-
- - - -
-
-
- -
- ${mindmap.tags} -
-
-
- ${mindmap.description} - - - - : " - alt=""/> - - - : " - alt="World" - - - - ${mindmap.creationUser}${mindmap.lastEditDate} by ${mindmap.lastEditor}&mapId=${mindmap.id}"> - - -
-
-
- - - - -
-
- - -
- - -
-
- -
-
" target="new"> - - -
-
- -