From a9a6d479e4f00134b32f7c3e657de3ce5cfb0c48 Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Mon, 11 Jun 2012 10:27:49 -0700 Subject: Objects Panel - Add component icon and icons by type --- js/controllers/objects-controller.js | 28 ++++++++++++-------- js/panels/objects/object.reel/object.js | 30 ++++++++++++++++++++++ .../objects/objects-panel.reel/objects-panel.css | 24 +++++++++++++++-- 3 files changed, 69 insertions(+), 13 deletions(-) (limited to 'js') diff --git a/js/controllers/objects-controller.js b/js/controllers/objects-controller.js index 2ce10e82..93f78efc 100644 --- a/js/controllers/objects-controller.js +++ b/js/controllers/objects-controller.js @@ -119,20 +119,11 @@ var objectsController = exports.ObjectsController = Montage.create(Component, { } }, - /* ---- Bindable Properties ---- */ + /* ---- Get Bindable Properties ---- */ getPropertyList : { value: function(object, excludeUnderscoreProperties) { - var object_i = object, - prototypes = [object_i]; - - ///// Collect prototypes - while(Object.getPrototypeOf(object_i)) { - object_i = Object.getPrototypeOf(object_i); - prototypes.push(object_i); - } - - return prototypes.map(function(proto) { + return this.getPrototypes(object).map(function(proto) { var metadata = proto._montage_metadata, objectName = (metadata) ? metadata.objectName : "Object"; @@ -166,6 +157,21 @@ var objectsController = exports.ObjectsController = Montage.create(Component, { } }, + getPrototypes : { + value: function(object) { + var object_i = object, + prototypes = [object_i]; + + ///// Collect prototypes + while(Object.getPrototypeOf(object_i)) { + object_i = Object.getPrototypeOf(object_i); + prototypes.push(object_i); + } + + return prototypes; + } + }, + /* ---- Bindable controller properties ---- */ currentObjectBindings : { diff --git a/js/panels/objects/object.reel/object.js b/js/panels/objects/object.reel/object.js index 43abafad..1e33b7f7 100644 --- a/js/panels/objects/object.reel/object.js +++ b/js/panels/objects/object.reel/object.js @@ -13,6 +13,16 @@ var Montage = require("montage/core/core").Montage, exports.Object = Montage.create(Component, { _needsPropertyInspection : { value: null }, + type: { value: null }, + getType : { + value: function() { + if(this._hasPrototype(this.sourceObject, 'Component')) { + return 'Component'; + } + + return null; + } + }, _sourceObject : { value: null }, sourceObject : { @@ -22,8 +32,11 @@ exports.Object = Montage.create(Component, { set: function(object) { if(this._sourceObject === object) { return false; } + this._sourceObject = object; + if(object._montage_metadata) { this.montageMetaData = object._montage_metadata; + this.type = this.getType(); } this._needsPropertyInspection = this.needsDraw = true; @@ -70,8 +83,25 @@ exports.Object = Montage.create(Component, { }, + _hasPrototype : { + value: function(object, prototypeName) { + var prototypes = this.application.ninja.objectsController.getPrototypes(object).map(function(proto) { + var metadata = proto._montage_metadata; + return (metadata) ? metadata.objectName : "Object"; + }); + + return prototypes.indexOf(prototypeName) !== -1; + } + }, + draw : { value: function() { + if(this.type) { + this.element.classList.add('object-icon-'+this.type.toLowerCase()); + } else{ + this.element.classList.add('object-icon-default'); + } + } } diff --git a/js/panels/objects/objects-panel.reel/objects-panel.css b/js/panels/objects/objects-panel.reel/objects-panel.css index 3fa3c479..59bee214 100644 --- a/js/panels/objects/objects-panel.reel/objects-panel.css +++ b/js/panels/objects/objects-panel.reel/objects-panel.css @@ -21,10 +21,21 @@ .objects-list .list-item { list-style-type: none; float: left; + width: 80px; + overflow: hidden; + text-overflow: ellipsis; } + +/* ------------------ + Icon Styles + ------------------- */ + .object-icon { - background-color: #fff; - border: 1px solid #353535; + background-color: rgba(0, 0, 0, 0.4); + /* red owner/crate */ + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACoZJREFUeNqsV2lsHOUZfufYmZ09vF6vE3t9YSc%2ByEWC7YAhbuM0B04TBDVQEGrVVmqpKrUS%2FVOhohQKglYtUlWEkJBKKaWiqG4EciHFMU5iJ8RJnDhOiG878b3rY9d7H7Nz9PkWEgVIaaj4pLFmx%2FN97%2FM%2B7%2FMew9FNrkuXLlE6nSZJkigWi0mZTKbcNM0duC7g2UWn05nYtGkTfdnF%2Fa8Xzp07R3V1ddTf3y8lEonNePSwxWLZL8tyhdVqlTRN0wFoBoBadV3%2FW15e3qWNGzca%2FzeAy5cv05o1a7L3MGpVVfUujuO%2BI4riHhgstNlsImMBnmffYfdsJZNJikQiKkAOAczreP8tvOsDmJsDMDw8zKgleMenUqmd8Oandru9EUZzFUXhBUEgHEzxeJxC4XBSDIf1glTKEXe7TaWsTIUxGXsJewmg2VlJAOozDOP53Nzc9xGeG7LCHT58mHlRAEP7YORR3N%2BNS7HZ7MSMJpOJbOwjoXAyfapnpOTI0c7yo0eXp3fs%2BKGluHhtLJXWi%2Fv7nvU9%2BaQ1Vln17TxPXrliVXjT%2FNgeQBBYiYKh9xGuV8BcD2wlGhoaPgbQ1tbGA%2FGRqqqq7UBKPC9kvUilUxSPxZPxySsD7rffuVDd%2Fn7cHovp49%2FY%2FU3B41kdzWRExNsZzagkx2ILVkkSuODKIbO%2B7uTSAy37wMYOl8vl4MAxC5eqZigcDhlgZh5MvgdAr0Sj0fNcZ2cnzczMHKqurt6LDQQ1E5DS4uJiALH%2FSf22bbmLW2ofUSurbxNCQd%2BUy7VxtdPBZXSDVn19Oy0d7yYLQHNkUGA5EL5FtkYRxxCvZV4MPPUrN5x5TFGsFQgnj7Bmw7iyskJ9fX2DS0tLt4ulpaVMeCN4cS%2BjHHQRXqbCwkIPmHlz%2BN13jyy8%2FkZ9gVXO8WlOj1e0aKmMZklnNCPe8yEfRXhyRIsuioKQES22iMPuWlGUEj43b6tDsAnpdLgP4SiDKJm2siFhWsN9pqioyBCnp6cJQulDnE23O4%2Bbnp7S2ctut5vDJdpqavYUPPEL8rcfpmXfouENBS3Mk0gqZVolC%2BmgN20agoUTab6ySpAb7jZTeW5TlqXvWfiM5HbnZjNkdnY2G1oRQmW%2FccZlOKnxu3btYlq4AlSGqqaJF8Tx%2Bfn556empqKTk5O0sLBAHDaVP9BCVQ%2FezwVQbGYQIqdNEQqbmsglS5QsLSP%2FvfeRUVurO26touKi1Xyuyy5FIuGs4YmJCRobG8sg5umC1QXZMCDMH%2B3bt49EZh0pdAXoVN0wFF3Tch959dXfR5aX50489uP70zXVu7GRczgc5HK7%2Bdz77iVb4zZSURnHBwYovWcv5axfR4pVpjxds5CpUSAQycaZpezy8rKWCgaPb%2BnoeDPz4IMHjJqaMjw3AWCQ2c4C8Hq9S%2FA2oqZVxSTTGTOMcp345pqk2mjOLdAEGelEsVdmscvJySGEhiw7mihaX0cK5GdT5Kxwg8EArmBWRwgjrV7tpbWDw2Mbnv11v2gY69%2FascOZixoBADr0NnkNwJYtW9TR0VF%2FKLRSwPO8FCouKU4sB23Dp3tsLJtzdVNN798vRku8POLHMe8QPyopKSGwQwgX8zRLrSiCBE5UeY0TV1pb%2Bd6Z2TLUQj4tSaJZ6FUikSgTYQaOTDPbPPuTn5%2FPhDjCxKXrhhAW%2BMrKRf%2BEMxSat6fSEbsrx6l8eELQRyfMSDSBcptkqctSic6ePZu9Z16vhCJGntNNeZcnJfON19NXpqdTOYnYsa5%2FH35cVRRJk2WIfopCoVAYGRC4BuCTNchUCg1waat1rT2RTGzcUnt%2B%2FSOPZgxDNxfgtXzqJL92elZyGTxpqAPhcDibUqJFpvUVt1LRrI%2B7%2BPJLNNN1hKotltj3N2%2Be%2Fa5v%2FqOdO5so4PEgAUSBZQDqy0JFRYX6KQCgvh85aoIJ0vM8xUmrbD05NnLPePshD4yrbjKTFp6n%2BPmzFD7dky3PLO6Mdub9RO9pWj7XyxmCoOfo%2BpxfFPN7BgYq2woKW1pbWynmzHGrqsbFYnEGYHTz5s30KQCoz5dwkM4Oncz3eCpstheDydRyGgbKa26Vqx5%2BVDEguBV4EPL5yAADrOmwwsLSdWpxkeIQXpluCqvgwChK%2BclY1LwiCOcfeughcdZbqDCRQmdMoINX7YpXb%2BDREoynNC3jiLpc1a82NPyzdP0Gt%2FOOu2ju3Ta6cLCVgjjULVnJHoubYaSmmklnvQd7ZiwW5mLQUBKAI2qS1tgUKk0l47%2F0%2BU7h%2BI0Sz5d58j2oK36TOXuN%2Bas3Tz%2F9NGtKUUYp1F204cCBDTOjY7IPvSKCWIdjUV1CVyn2esmCJqZHY9dmArvdyW3w5FOpmjbjgmCkdI08NgfnyvM4nikrfeGVXbvenCwpWeVELUGIdQwzw58DgIrnhjqjLBNYTzgxNETnJMnsHxmijKaZu3%2F2OF9ZUMj5%2FD4aDiwhl2PssCyIRDJOgbkZdpjRqNi5Wxw5NIp60IZ4W2RZaNi7d51j%2B%2FZ8NB%2B2J4PxbuVzALA0xPICVGqyHG9sbCRhw7rEMxf7h94jbvHiX1%2FjfOEQiZFo2GmaGcEiZht%2BFoShp6LRSDIpCumgmuTOoK%2F8bm62fywVD6Lgm0PFxVnBsqzB%2BYmDBw%2FarxoVrgeAYjQL79fg0DJUR66pqUnCJCMf6u66ELcqq6RQWF93Z4OjsLhUiOD%2FKqhmqWtz5Ijr9%2By3aF3H9AlsXrgysbJ7ZGj479Fo7%2B27d1fV19fLLP3QY8jn802hdvwD9oK4zOsBZEBnAI1jENVNxsE1EIuIdJExlJZ%2BcPr0wFG%2F74PKeHxLJBzkUjVVpq5rHDuYrcnuY7Tin59XPuwe9AcCI1eam7WnnnvuW5h8HMxwT0%2BPOTIyMn%2FixInfsFENW%2BKfZYAtFSCW0cFG%2FX5%2FDL9vgybk6qoqfs%2BePV6wJ%2Fy598zCuKzEy0pLFEHgLaweQD%2FxaEd7omBiorfTZuu67YknmnY2N38NPUO6ePEiHTt2TIPho7h%2BGwgEDuNcVgXNGwHIMoFrGU1lDJvHMSHVZTKak80HtXW1hZVrK6V%2Ftb3TWVVVWYFh1cYYQBsfSHZ2dkw038P%2F4MCBH23dutWbQM%2FoOXmSuru7%2Fe3t7S%2BPj4%2B%2FDB30XKX%2BRhq4fjGBRbBhFhsvY75bCyYKPJ58DmO2cscdd1bDawEFRWIaAAvxoua9Jfe3tGxHk7FMXJ6g3jNnDMT6o46OjucR0rdx3giuxGcNCV8wsjOUcdSGeYhzEKEpQMzLoQu%2BoqIcmCQJdGanm9raWvf2pqZVmIK4k%2FD63LmziePHj7eeOnXqBThxDOf4mMhvZES4iY%2BXBITtx9w4AAXrALAJ1tF1RQp%2BAqC4uIRjxaqrq4vOnz8%2FjUH3DxDzawDdj%2F3h6yn%2F7BJv8gsqxubGoaGhIEqvP5NRf15Y6HVlaUIhunChn%2FUEDe2ZCe2PeMxUvvTfvP6yDFxdOvMGaxIZMocZYhMEmsM0MDc3F4D3f8Kn3Et4p%2FcToRlfycfpDRarnquQFdtaWloex3SkHzly5C8o4914PsdS%2BSv9Ov6C5YAeCljzQoawvI7crNfXr%2F8IMADlMDTD%2BOWcSAAAAABJRU5ErkJggg%3D%3D); + background-position: center center; + background-repeat: no-repeat; border-radius: 5px; height: 50px; margin: 0 15px 5px; @@ -34,4 +45,13 @@ color: #fff; display: block; text-align: center; +} + +.object-icon:hover { + background-color: rgba(0, 0, 0, 0.2); +} + +.object-icon-component .object-icon { + /* gray gear */ + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAACE5JREFUWIWdV2tsHNUV%2Fu6989iHd9frtVeJsUNsEW8AOYSkTUgs9SVKoahSUdpKSC0toBapSEhBVuFPsOxfFInSP6hCgoigVhS1IFVtgKBKaaIoxBFOChF1bceubRI7btbe3cyOZ%2BbOffRHPKP1I63cK11p5%2BzMOd853znnnkuwyTUwMIBSqdTKGOswTTOjtUYYho7jOFcmJibKL7300qb0GZsFQClNbN%2B%2B%2FWhXV9f9ACwA0FrzycnJv83NzR0C4G1K32YBSCltAD25XC6Zy%2BVYLpdjzc3NScZYDyHEbny3v7%2F%2Ff%2BrbMAJDQ0NwXbdg2%2FY%2Bx3E%2BfOWVV3Sk0DAMyzTNNKWrsRuGkWaMWdHz4cOHIaXE4ODgg57njbz44ovXN7JF1gqef%2F55FIvFXXv37n1z586du0%2BePPnG2NjYL0zTNLdu3frtbdu2%2FejOO%2B%2F8ajabZY3fOY4jR0dHT09PT%2F92YWHhuFIq2L179y%2F379%2F%2F04WFhc8uXrz44%2FHx8U%2BHhoZuDWBoaAjpdHrXgQMH3unp6dlJKYXv%2B3J0dHQ4k8nkOzs7S6lU6pa0aa3huq6am5sbD4Jgsaen5z7TNJlSCvPz8%2BPDw8M%2FePLJJz9t%2FGaVF%2Fv27Sv09fW9VyqVegm5iY0xRtvb2ztbWlraDMMgWmv8t20YBmlpaWltbW3dRgihSikIIZBIJAqmaR4sFovvnjlzZjmmrhFAc3PzlwuFwm4pJbTWYIyBEAKl1M1wrYDSWsP3fbiuC6010uk0EonEqkhorQEAUkoIIaCU0plMpjeVSt0H4M8bArh27dqJycnJ15uamp6wbZtFICilIISAc47FxUX4vg%2FDMJBMJgEA5XIZYRjCtm0UCgUYhhGDCMMQYRhq3%2Ff12NjYm%2FV6%2FfgtKRgeHsa99957xjTNrxQKhW2RnFKKer2OxcVFJJNJpNNp2LYNSikopbBtG8lkEoQQVKvVm54ZBqSU4JyDc04mJyeHx8bGfjI4OLjcaHNdGYZhaBFCClHYtdZYXl6G7%2FvIZDIxDWuX1hqUUqTTadTr9SgfIgBQSuXDMFxnb1VG9%2Ff3I5%2FPf6dYLPZIKaGUAuccN27cgGmaq4wppbSUUiuloJRalYi2bcNxHHiehyAIIIRAsVjc0dzc%2FNBaAOTIkSNobW21GWMJzrnZ2dn5h7vuuutrjDEwxuB5XpyQpmmCMaYrlUp9bGzsT6Ojoyds20Z3d%2FcDO3bs%2BG42m20CQKSU8H0fQoibPDMGwzAwPj5%2B%2BsqVK4csywoJIUG5XPaN5ubmwj333HM0m832SCnTpmm2R54opSClBKUUWmsIIXSlUqmPjIz8%2FPz5828fO3ZMAsBjjz32dq1W%2B3DPnj2%2FyeVyWSEEOOeQUsIwDFBKwRhDqVTq6%2B7uvsgYq7uue%2FnSpUuPG4SQ26SU9wshUoyx2HBjyTUCmpycfG9kZCQ2DgBvvfWWpJT%2BPpfL3d%2Fb2%2Ft4EAQR70gmkzCMmHpGKe0QQkAIsV0I0UE5502cc0tKiYj3yPO1AIQQmJ2dPXH06FGJNcs0TTU9Pf2%2B67ox71GFRL2k0Qbn3PQ8r8mI%2FhBCxM1jbXZHEVFKIQxDtVEVtLW1IQgC7XlezLtlWXElNAJoBEIB1IUQPBI0viCEAGMsjgqllNx%2B%2B%2B0PPPPMM%2BvOg0qlQjs6Or4F3OwBlmUhkUis87xBd0gIcQwAV8MwPOn7fg%2BltMm27aJlWQwAOOewbRtBEMRedXV1HaKUnujv7%2F9jtVpVvb29mJmZobt27Xpky5Yt34%2B8JoTAsiwEQRA7E4ahCoJgQSnlcs4vE0Kukueeew75fD6RuNnMza1bt77T3t7%2B9ah0UqkUHMeJAVBKNef8huu673LO39daa9M0H0qlUt9LpVI5rTWJ6Mxms1heXoYQAlJKffXq1TPz8%2FOHAIS%2B7weVSsVb19Zee%2B21x%2B%2B4447XLcuihmHANE0YhoF6vR5XRtR4ovKilMKyLERVxDmHZVloKEfNOdcTExM%2Fe%2Bqpp95otLeOy2q1erxer%2F8zSsDIG9M04XkeXNfF8vIywjCM261lWYgmJEIIMpkMLMuKk5cQQhzHuVyr1f6y1t6q3vzss8%2FCdd2gVquVs9ls3Mk8z4Nt20in03BdN87wyOsILACkUikwxhCGIUzTjI9y13XLrusGawHEp%2BHhw4ehlMLdd9%2F9q46OjkcAUEIIKKUwDAOMMdi2jZaWltiI1hqEEJimiWQyiWQyCa01onmCEBL%2Fbmpqarcsq6W7u%2Fv42bNn1wM4d%2B4cHn744W%2Fu37%2F%2F14wxFnkY7ZVzIA6rZVlIpVKwbRuMsXX13dg%2FVhoZaWtr27u0tHT%2Bo48%2BurxhDnDOL1Qqlb%2Bv8BZtvfYIjnLD9334vh%2F3%2FZWt19b%2BytxAFhcXL7mu%2B8mGFADA6dOnvYMHD36czWa%2FkUgkWimlGoCqVqsfCyGqlmW10oZ5vBHYSg5oKaWq1Wr%2FcBxn3LKs27TWRGtNHMeZmJqaerS%2Fv%2F9ftwQAAHv27Pm3lPJUOp0%2BkEqltszOzr7x%2BeefP1Eul4%2B5rntRKZVJJpNdjDHaCEAIoRYWFv46PT39wtTU1Auzs7O%2FY4zl8%2Fn8lyqVymdTU1OPzs%2FPf3bq1KlV9jYebwAMDg625vP5fTMzMx%2B8%2FPLL8SExMDDQ2tfXd7G9vb2j8f25ublrw8PDu44cORJfQJ5%2B%2BmlSKpUerNVqnzTKG9ct74YDAwNlAO%2BvlQdBEEopl9fmhZTSC4JANMpeffVVDeCDW9kA%2Fo%2B74eLiIvc8bzYMw0ApJbXWMgzDwPO8maWlJb5ZfZu%2BHS8tLXkXLlz44RdffHFbcmUu9zzPu379%2BtVyuexuVt9%2FAKVP%2BiORVHX0AAAAAElFTkSuQmCC); } \ No newline at end of file -- cgit v1.2.3 From d6b46ba496c9c8974ae39bb476aea35bcd1ddaf1 Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Mon, 11 Jun 2012 13:27:17 -0700 Subject: Objects Panel - CSS and serialization update --- js/panels/objects/object.reel/object.css | 44 +++++++++++++++++++--- .../objects/objects-panel.reel/objects-panel.css | 37 ------------------ .../objects/objects-panel.reel/objects-panel.html | 18 ++------- 3 files changed, 41 insertions(+), 58 deletions(-) (limited to 'js') diff --git a/js/panels/objects/object.reel/object.css b/js/panels/objects/object.reel/object.css index 6ca759ba..2612c392 100644 --- a/js/panels/objects/object.reel/object.css +++ b/js/panels/objects/object.reel/object.css @@ -18,11 +18,43 @@ margin: 0; padding: 0; } -.objects-list list-item { - width: 200px; - height: 200px; + +.objects-list .list-item { + list-style-type: none; float: left; - margin: 0 18px 18px; - border-radius: 20px; - box-shadow: inset 0 0 4px rgba(0,0,0,0.5); + width: 80px; + overflow: hidden; + text-overflow: ellipsis; +} + +/* ------------------ + Icon Styles + ------------------- */ + +.object-icon { + background-color: rgba(0, 0, 0, 0.4); + /* red owner/crate */ + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACoZJREFUeNqsV2lsHOUZfufYmZ09vF6vE3t9YSc%2ByEWC7YAhbuM0B04TBDVQEGrVVmqpKrUS%2FVOhohQKglYtUlWEkJBKKaWiqG4EciHFMU5iJ8RJnDhOiG878b3rY9d7H7Nz9PkWEgVIaaj4pLFmx%2FN97%2FM%2B7%2FMew9FNrkuXLlE6nSZJkigWi0mZTKbcNM0duC7g2UWn05nYtGkTfdnF%2Fa8Xzp07R3V1ddTf3y8lEonNePSwxWLZL8tyhdVqlTRN0wFoBoBadV3%2FW15e3qWNGzca%2FzeAy5cv05o1a7L3MGpVVfUujuO%2BI4riHhgstNlsImMBnmffYfdsJZNJikQiKkAOAczreP8tvOsDmJsDMDw8zKgleMenUqmd8Oandru9EUZzFUXhBUEgHEzxeJxC4XBSDIf1glTKEXe7TaWsTIUxGXsJewmg2VlJAOozDOP53Nzc9xGeG7LCHT58mHlRAEP7YORR3N%2BNS7HZ7MSMJpOJbOwjoXAyfapnpOTI0c7yo0eXp3fs%2BKGluHhtLJXWi%2Fv7nvU9%2BaQ1Vln17TxPXrliVXjT%2FNgeQBBYiYKh9xGuV8BcD2wlGhoaPgbQ1tbGA%2FGRqqqq7UBKPC9kvUilUxSPxZPxySsD7rffuVDd%2Fn7cHovp49%2FY%2FU3B41kdzWRExNsZzagkx2ILVkkSuODKIbO%2B7uTSAy37wMYOl8vl4MAxC5eqZigcDhlgZh5MvgdAr0Sj0fNcZ2cnzczMHKqurt6LDQQ1E5DS4uJiALH%2FSf22bbmLW2ofUSurbxNCQd%2BUy7VxtdPBZXSDVn19Oy0d7yYLQHNkUGA5EL5FtkYRxxCvZV4MPPUrN5x5TFGsFQgnj7Bmw7iyskJ9fX2DS0tLt4ulpaVMeCN4cS%2BjHHQRXqbCwkIPmHlz%2BN13jyy8%2FkZ9gVXO8WlOj1e0aKmMZklnNCPe8yEfRXhyRIsuioKQES22iMPuWlGUEj43b6tDsAnpdLgP4SiDKJm2siFhWsN9pqioyBCnp6cJQulDnE23O4%2Bbnp7S2ctut5vDJdpqavYUPPEL8rcfpmXfouENBS3Mk0gqZVolC%2BmgN20agoUTab6ySpAb7jZTeW5TlqXvWfiM5HbnZjNkdnY2G1oRQmW%2FccZlOKnxu3btYlq4AlSGqqaJF8Tx%2Bfn556empqKTk5O0sLBAHDaVP9BCVQ%2FezwVQbGYQIqdNEQqbmsglS5QsLSP%2FvfeRUVurO26touKi1Xyuyy5FIuGs4YmJCRobG8sg5umC1QXZMCDMH%2B3bt49EZh0pdAXoVN0wFF3Tch959dXfR5aX50489uP70zXVu7GRczgc5HK7%2Bdz77iVb4zZSURnHBwYovWcv5axfR4pVpjxds5CpUSAQycaZpezy8rKWCgaPb%2BnoeDPz4IMHjJqaMjw3AWCQ2c4C8Hq9S%2FA2oqZVxSTTGTOMcp345pqk2mjOLdAEGelEsVdmscvJySGEhiw7mihaX0cK5GdT5Kxwg8EArmBWRwgjrV7tpbWDw2Mbnv11v2gY69%2FascOZixoBADr0NnkNwJYtW9TR0VF%2FKLRSwPO8FCouKU4sB23Dp3tsLJtzdVNN798vRku8POLHMe8QPyopKSGwQwgX8zRLrSiCBE5UeY0TV1pb%2Bd6Z2TLUQj4tSaJZ6FUikSgTYQaOTDPbPPuTn5%2FPhDjCxKXrhhAW%2BMrKRf%2BEMxSat6fSEbsrx6l8eELQRyfMSDSBcptkqctSic6ePZu9Z16vhCJGntNNeZcnJfON19NXpqdTOYnYsa5%2FH35cVRRJk2WIfopCoVAYGRC4BuCTNchUCg1waat1rT2RTGzcUnt%2B%2FSOPZgxDNxfgtXzqJL92elZyGTxpqAPhcDibUqJFpvUVt1LRrI%2B7%2BPJLNNN1hKotltj3N2%2Be%2Fa5v%2FqOdO5so4PEgAUSBZQDqy0JFRYX6KQCgvh85aoIJ0vM8xUmrbD05NnLPePshD4yrbjKTFp6n%2BPmzFD7dky3PLO6Mdub9RO9pWj7XyxmCoOfo%2BpxfFPN7BgYq2woKW1pbWynmzHGrqsbFYnEGYHTz5s30KQCoz5dwkM4Oncz3eCpstheDydRyGgbKa26Vqx5%2BVDEguBV4EPL5yAADrOmwwsLSdWpxkeIQXpluCqvgwChK%2BclY1LwiCOcfeughcdZbqDCRQmdMoINX7YpXb%2BDREoynNC3jiLpc1a82NPyzdP0Gt%2FOOu2ju3Ta6cLCVgjjULVnJHoubYaSmmklnvQd7ZiwW5mLQUBKAI2qS1tgUKk0l47%2F0%2BU7h%2BI0Sz5d58j2oK36TOXuN%2Bas3Tz%2F9NGtKUUYp1F204cCBDTOjY7IPvSKCWIdjUV1CVyn2esmCJqZHY9dmArvdyW3w5FOpmjbjgmCkdI08NgfnyvM4nikrfeGVXbvenCwpWeVELUGIdQwzw58DgIrnhjqjLBNYTzgxNETnJMnsHxmijKaZu3%2F2OF9ZUMj5%2FD4aDiwhl2PssCyIRDJOgbkZdpjRqNi5Wxw5NIp60IZ4W2RZaNi7d51j%2B%2FZ8NB%2B2J4PxbuVzALA0xPICVGqyHG9sbCRhw7rEMxf7h94jbvHiX1%2FjfOEQiZFo2GmaGcEiZht%2BFoShp6LRSDIpCumgmuTOoK%2F8bm62fywVD6Lgm0PFxVnBsqzB%2BYmDBw%2FarxoVrgeAYjQL79fg0DJUR66pqUnCJCMf6u66ELcqq6RQWF93Z4OjsLhUiOD%2FKqhmqWtz5Ijr9%2By3aF3H9AlsXrgysbJ7ZGj479Fo7%2B27d1fV19fLLP3QY8jn802hdvwD9oK4zOsBZEBnAI1jENVNxsE1EIuIdJExlJZ%2BcPr0wFG%2F74PKeHxLJBzkUjVVpq5rHDuYrcnuY7Tin59XPuwe9AcCI1eam7WnnnvuW5h8HMxwT0%2BPOTIyMn%2FixInfsFENW%2BKfZYAtFSCW0cFG%2FX5%2FDL9vgybk6qoqfs%2BePV6wJ%2Fy598zCuKzEy0pLFEHgLaweQD%2FxaEd7omBiorfTZuu67YknmnY2N38NPUO6ePEiHTt2TIPho7h%2BGwgEDuNcVgXNGwHIMoFrGU1lDJvHMSHVZTKak80HtXW1hZVrK6V%2Ftb3TWVVVWYFh1cYYQBsfSHZ2dkw038P%2F4MCBH23dutWbQM%2FoOXmSuru7%2Fe3t7S%2BPj4%2B%2FDB30XKX%2BRhq4fjGBRbBhFhsvY75bCyYKPJ58DmO2cscdd1bDawEFRWIaAAvxoua9Jfe3tGxHk7FMXJ6g3jNnDMT6o46OjucR0rdx3giuxGcNCV8wsjOUcdSGeYhzEKEpQMzLoQu%2BoqIcmCQJdGanm9raWvf2pqZVmIK4k%2FD63LmziePHj7eeOnXqBThxDOf4mMhvZES4iY%2BXBITtx9w4AAXrALAJ1tF1RQp%2BAqC4uIRjxaqrq4vOnz8%2FjUH3DxDzawDdj%2F3h6yn%2F7BJv8gsqxubGoaGhIEqvP5NRf15Y6HVlaUIhunChn%2FUEDe2ZCe2PeMxUvvTfvP6yDFxdOvMGaxIZMocZYhMEmsM0MDc3F4D3f8Kn3Et4p%2FcToRlfycfpDRarnquQFdtaWloex3SkHzly5C8o4914PsdS%2BSv9Ov6C5YAeCljzQoawvI7crNfXr%2F8IMADlMDTD%2BOWcSAAAAABJRU5ErkJggg%3D%3D); + background-position: center center; + background-repeat: no-repeat; + border: 1px solid rgba(0, 0, 0, 0); + border-radius: 5px; + height: 50px; + margin: 0 15px 5px; + width: 50px; +} +.object-label { + color: #fff; + display: block; + text-align: center; +} + +.object-icon:hover { + border: 1px solid rgba(0, 0, 0, 0.4); + box-shadow: 0 0 1px 1px #474747; +} + +.object-icon-component .object-icon { + /* gray gear */ + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAACE5JREFUWIWdV2tsHNUV%2Fu6989iHd9frtVeJsUNsEW8AOYSkTUgs9SVKoahSUdpKSC0toBapSEhBVuFPsOxfFInSP6hCgoigVhS1IFVtgKBKaaIoxBFOChF1bceubRI7btbe3cyOZ%2BbOffRHPKP1I63cK11p5%2BzMOd853znnnkuwyTUwMIBSqdTKGOswTTOjtUYYho7jOFcmJibKL7300qb0GZsFQClNbN%2B%2B%2FWhXV9f9ACwA0FrzycnJv83NzR0C4G1K32YBSCltAD25XC6Zy%2BVYLpdjzc3NScZYDyHEbny3v7%2F%2Ff%2BrbMAJDQ0NwXbdg2%2FY%2Bx3E%2BfOWVV3Sk0DAMyzTNNKWrsRuGkWaMWdHz4cOHIaXE4ODgg57njbz44ovXN7JF1gqef%2F55FIvFXXv37n1z586du0%2BePPnG2NjYL0zTNLdu3frtbdu2%2FejOO%2B%2F8ajabZY3fOY4jR0dHT09PT%2F92YWHhuFIq2L179y%2F379%2F%2F04WFhc8uXrz44%2FHx8U%2BHhoZuDWBoaAjpdHrXgQMH3unp6dlJKYXv%2B3J0dHQ4k8nkOzs7S6lU6pa0aa3huq6am5sbD4Jgsaen5z7TNJlSCvPz8%2BPDw8M%2FePLJJz9t%2FGaVF%2Fv27Sv09fW9VyqVegm5iY0xRtvb2ztbWlraDMMgWmv8t20YBmlpaWltbW3dRgihSikIIZBIJAqmaR4sFovvnjlzZjmmrhFAc3PzlwuFwm4pJbTWYIyBEAKl1M1wrYDSWsP3fbiuC6010uk0EonEqkhorQEAUkoIIaCU0plMpjeVSt0H4M8bArh27dqJycnJ15uamp6wbZtFICilIISAc47FxUX4vg%2FDMJBMJgEA5XIZYRjCtm0UCgUYhhGDCMMQYRhq3%2Ff12NjYm%2FV6%2FfgtKRgeHsa99957xjTNrxQKhW2RnFKKer2OxcVFJJNJpNNp2LYNSikopbBtG8lkEoQQVKvVm54ZBqSU4JyDc04mJyeHx8bGfjI4OLjcaHNdGYZhaBFCClHYtdZYXl6G7%2FvIZDIxDWuX1hqUUqTTadTr9SgfIgBQSuXDMFxnb1VG9%2Ff3I5%2FPf6dYLPZIKaGUAuccN27cgGmaq4wppbSUUiuloJRalYi2bcNxHHiehyAIIIRAsVjc0dzc%2FNBaAOTIkSNobW21GWMJzrnZ2dn5h7vuuutrjDEwxuB5XpyQpmmCMaYrlUp9bGzsT6Ojoyds20Z3d%2FcDO3bs%2BG42m20CQKSU8H0fQoibPDMGwzAwPj5%2B%2BsqVK4csywoJIUG5XPaN5ubmwj333HM0m832SCnTpmm2R54opSClBKUUWmsIIXSlUqmPjIz8%2FPz5828fO3ZMAsBjjz32dq1W%2B3DPnj2%2FyeVyWSEEOOeQUsIwDFBKwRhDqVTq6%2B7uvsgYq7uue%2FnSpUuPG4SQ26SU9wshUoyx2HBjyTUCmpycfG9kZCQ2DgBvvfWWpJT%2BPpfL3d%2Fb2%2Ft4EAQR70gmkzCMmHpGKe0QQkAIsV0I0UE5502cc0tKiYj3yPO1AIQQmJ2dPXH06FGJNcs0TTU9Pf2%2B67ox71GFRL2k0Qbn3PQ8r8mI%2FhBCxM1jbXZHEVFKIQxDtVEVtLW1IQgC7XlezLtlWXElNAJoBEIB1IUQPBI0viCEAGMsjgqllNx%2B%2B%2B0PPPPMM%2BvOg0qlQjs6Or4F3OwBlmUhkUis87xBd0gIcQwAV8MwPOn7fg%2BltMm27aJlWQwAOOewbRtBEMRedXV1HaKUnujv7%2F9jtVpVvb29mJmZobt27Xpky5Yt34%2B8JoTAsiwEQRA7E4ahCoJgQSnlcs4vE0Kukueeew75fD6RuNnMza1bt77T3t7%2B9ah0UqkUHMeJAVBKNef8huu673LO39daa9M0H0qlUt9LpVI5rTWJ6Mxms1heXoYQAlJKffXq1TPz8%2FOHAIS%2B7weVSsVb19Zee%2B21x%2B%2B4447XLcuihmHANE0YhoF6vR5XRtR4ovKilMKyLERVxDmHZVloKEfNOdcTExM%2Fe%2Bqpp95otLeOy2q1erxer%2F8zSsDIG9M04XkeXNfF8vIywjCM261lWYgmJEIIMpkMLMuKk5cQQhzHuVyr1f6y1t6q3vzss8%2FCdd2gVquVs9ls3Mk8z4Nt20in03BdN87wyOsILACkUikwxhCGIUzTjI9y13XLrusGawHEp%2BHhw4ehlMLdd9%2F9q46OjkcAUEIIKKUwDAOMMdi2jZaWltiI1hqEEJimiWQyiWQyCa01onmCEBL%2Fbmpqarcsq6W7u%2Fv42bNn1wM4d%2B4cHn744W%2Fu37%2F%2F14wxFnkY7ZVzIA6rZVlIpVKwbRuMsXX13dg%2FVhoZaWtr27u0tHT%2Bo48%2BurxhDnDOL1Qqlb%2Bv8BZtvfYIjnLD9334vh%2F3%2FZWt19b%2BytxAFhcXL7mu%2B8mGFADA6dOnvYMHD36czWa%2FkUgkWimlGoCqVqsfCyGqlmW10oZ5vBHYSg5oKaWq1Wr%2FcBxn3LKs27TWRGtNHMeZmJqaerS%2Fv%2F9ftwQAAHv27Pm3lPJUOp0%2BkEqltszOzr7x%2BeefP1Eul4%2B5rntRKZVJJpNdjDHaCEAIoRYWFv46PT39wtTU1Auzs7O%2FY4zl8%2Fn8lyqVymdTU1OPzs%2FPf3bq1KlV9jYebwAMDg625vP5fTMzMx%2B8%2FPLL8SExMDDQ2tfXd7G9vb2j8f25ublrw8PDu44cORJfQJ5%2B%2BmlSKpUerNVqnzTKG9ct74YDAwNlAO%2BvlQdBEEopl9fmhZTSC4JANMpeffVVDeCDW9kA%2Fo%2B74eLiIvc8bzYMw0ApJbXWMgzDwPO8maWlJb5ZfZu%2BHS8tLXkXLlz44RdffHFbcmUu9zzPu379%2BtVyuexuVt9%2FAKVP%2BiORVHX0AAAAAElFTkSuQmCC); } \ No newline at end of file diff --git a/js/panels/objects/objects-panel.reel/objects-panel.css b/js/panels/objects/objects-panel.reel/objects-panel.css index 59bee214..3a83776e 100644 --- a/js/panels/objects/objects-panel.reel/objects-panel.css +++ b/js/panels/objects/objects-panel.reel/objects-panel.css @@ -18,40 +18,3 @@ margin: 10px 0 0 0; padding: 0; } -.objects-list .list-item { - list-style-type: none; - float: left; - width: 80px; - overflow: hidden; - text-overflow: ellipsis; -} - -/* ------------------ - Icon Styles - ------------------- */ - -.object-icon { - background-color: rgba(0, 0, 0, 0.4); - /* red owner/crate */ - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACoZJREFUeNqsV2lsHOUZfufYmZ09vF6vE3t9YSc%2ByEWC7YAhbuM0B04TBDVQEGrVVmqpKrUS%2FVOhohQKglYtUlWEkJBKKaWiqG4EciHFMU5iJ8RJnDhOiG878b3rY9d7H7Nz9PkWEgVIaaj4pLFmx%2FN97%2FM%2B7%2FMew9FNrkuXLlE6nSZJkigWi0mZTKbcNM0duC7g2UWn05nYtGkTfdnF%2Fa8Xzp07R3V1ddTf3y8lEonNePSwxWLZL8tyhdVqlTRN0wFoBoBadV3%2FW15e3qWNGzca%2FzeAy5cv05o1a7L3MGpVVfUujuO%2BI4riHhgstNlsImMBnmffYfdsJZNJikQiKkAOAczreP8tvOsDmJsDMDw8zKgleMenUqmd8Oandru9EUZzFUXhBUEgHEzxeJxC4XBSDIf1glTKEXe7TaWsTIUxGXsJewmg2VlJAOozDOP53Nzc9xGeG7LCHT58mHlRAEP7YORR3N%2BNS7HZ7MSMJpOJbOwjoXAyfapnpOTI0c7yo0eXp3fs%2BKGluHhtLJXWi%2Fv7nvU9%2BaQ1Vln17TxPXrliVXjT%2FNgeQBBYiYKh9xGuV8BcD2wlGhoaPgbQ1tbGA%2FGRqqqq7UBKPC9kvUilUxSPxZPxySsD7rffuVDd%2Fn7cHovp49%2FY%2FU3B41kdzWRExNsZzagkx2ILVkkSuODKIbO%2B7uTSAy37wMYOl8vl4MAxC5eqZigcDhlgZh5MvgdAr0Sj0fNcZ2cnzczMHKqurt6LDQQ1E5DS4uJiALH%2FSf22bbmLW2ofUSurbxNCQd%2BUy7VxtdPBZXSDVn19Oy0d7yYLQHNkUGA5EL5FtkYRxxCvZV4MPPUrN5x5TFGsFQgnj7Bmw7iyskJ9fX2DS0tLt4ulpaVMeCN4cS%2BjHHQRXqbCwkIPmHlz%2BN13jyy8%2FkZ9gVXO8WlOj1e0aKmMZklnNCPe8yEfRXhyRIsuioKQES22iMPuWlGUEj43b6tDsAnpdLgP4SiDKJm2siFhWsN9pqioyBCnp6cJQulDnE23O4%2Bbnp7S2ctut5vDJdpqavYUPPEL8rcfpmXfouENBS3Mk0gqZVolC%2BmgN20agoUTab6ySpAb7jZTeW5TlqXvWfiM5HbnZjNkdnY2G1oRQmW%2FccZlOKnxu3btYlq4AlSGqqaJF8Tx%2Bfn556empqKTk5O0sLBAHDaVP9BCVQ%2FezwVQbGYQIqdNEQqbmsglS5QsLSP%2FvfeRUVurO26touKi1Xyuyy5FIuGs4YmJCRobG8sg5umC1QXZMCDMH%2B3bt49EZh0pdAXoVN0wFF3Tch959dXfR5aX50489uP70zXVu7GRczgc5HK7%2Bdz77iVb4zZSURnHBwYovWcv5axfR4pVpjxds5CpUSAQycaZpezy8rKWCgaPb%2BnoeDPz4IMHjJqaMjw3AWCQ2c4C8Hq9S%2FA2oqZVxSTTGTOMcp345pqk2mjOLdAEGelEsVdmscvJySGEhiw7mihaX0cK5GdT5Kxwg8EArmBWRwgjrV7tpbWDw2Mbnv11v2gY69%2FascOZixoBADr0NnkNwJYtW9TR0VF%2FKLRSwPO8FCouKU4sB23Dp3tsLJtzdVNN798vRku8POLHMe8QPyopKSGwQwgX8zRLrSiCBE5UeY0TV1pb%2Bd6Z2TLUQj4tSaJZ6FUikSgTYQaOTDPbPPuTn5%2FPhDjCxKXrhhAW%2BMrKRf%2BEMxSat6fSEbsrx6l8eELQRyfMSDSBcptkqctSic6ePZu9Z16vhCJGntNNeZcnJfON19NXpqdTOYnYsa5%2FH35cVRRJk2WIfopCoVAYGRC4BuCTNchUCg1waat1rT2RTGzcUnt%2B%2FSOPZgxDNxfgtXzqJL92elZyGTxpqAPhcDibUqJFpvUVt1LRrI%2B7%2BPJLNNN1hKotltj3N2%2Be%2Fa5v%2FqOdO5so4PEgAUSBZQDqy0JFRYX6KQCgvh85aoIJ0vM8xUmrbD05NnLPePshD4yrbjKTFp6n%2BPmzFD7dky3PLO6Mdub9RO9pWj7XyxmCoOfo%2BpxfFPN7BgYq2woKW1pbWynmzHGrqsbFYnEGYHTz5s30KQCoz5dwkM4Oncz3eCpstheDydRyGgbKa26Vqx5%2BVDEguBV4EPL5yAADrOmwwsLSdWpxkeIQXpluCqvgwChK%2BclY1LwiCOcfeughcdZbqDCRQmdMoINX7YpXb%2BDREoynNC3jiLpc1a82NPyzdP0Gt%2FOOu2ju3Ta6cLCVgjjULVnJHoubYaSmmklnvQd7ZiwW5mLQUBKAI2qS1tgUKk0l47%2F0%2BU7h%2BI0Sz5d58j2oK36TOXuN%2Bas3Tz%2F9NGtKUUYp1F204cCBDTOjY7IPvSKCWIdjUV1CVyn2esmCJqZHY9dmArvdyW3w5FOpmjbjgmCkdI08NgfnyvM4nikrfeGVXbvenCwpWeVELUGIdQwzw58DgIrnhjqjLBNYTzgxNETnJMnsHxmijKaZu3%2F2OF9ZUMj5%2FD4aDiwhl2PssCyIRDJOgbkZdpjRqNi5Wxw5NIp60IZ4W2RZaNi7d51j%2B%2FZ8NB%2B2J4PxbuVzALA0xPICVGqyHG9sbCRhw7rEMxf7h94jbvHiX1%2FjfOEQiZFo2GmaGcEiZht%2BFoShp6LRSDIpCumgmuTOoK%2F8bm62fywVD6Lgm0PFxVnBsqzB%2BYmDBw%2FarxoVrgeAYjQL79fg0DJUR66pqUnCJCMf6u66ELcqq6RQWF93Z4OjsLhUiOD%2FKqhmqWtz5Ijr9%2By3aF3H9AlsXrgysbJ7ZGj479Fo7%2B27d1fV19fLLP3QY8jn802hdvwD9oK4zOsBZEBnAI1jENVNxsE1EIuIdJExlJZ%2BcPr0wFG%2F74PKeHxLJBzkUjVVpq5rHDuYrcnuY7Tin59XPuwe9AcCI1eam7WnnnvuW5h8HMxwT0%2BPOTIyMn%2FixInfsFENW%2BKfZYAtFSCW0cFG%2FX5%2FDL9vgybk6qoqfs%2BePV6wJ%2Fy598zCuKzEy0pLFEHgLaweQD%2FxaEd7omBiorfTZuu67YknmnY2N38NPUO6ePEiHTt2TIPho7h%2BGwgEDuNcVgXNGwHIMoFrGU1lDJvHMSHVZTKak80HtXW1hZVrK6V%2Ftb3TWVVVWYFh1cYYQBsfSHZ2dkw038P%2F4MCBH23dutWbQM%2FoOXmSuru7%2Fe3t7S%2BPj4%2B%2FDB30XKX%2BRhq4fjGBRbBhFhsvY75bCyYKPJ58DmO2cscdd1bDawEFRWIaAAvxoua9Jfe3tGxHk7FMXJ6g3jNnDMT6o46OjucR0rdx3giuxGcNCV8wsjOUcdSGeYhzEKEpQMzLoQu%2BoqIcmCQJdGanm9raWvf2pqZVmIK4k%2FD63LmziePHj7eeOnXqBThxDOf4mMhvZES4iY%2BXBITtx9w4AAXrALAJ1tF1RQp%2BAqC4uIRjxaqrq4vOnz8%2FjUH3DxDzawDdj%2F3h6yn%2F7BJv8gsqxubGoaGhIEqvP5NRf15Y6HVlaUIhunChn%2FUEDe2ZCe2PeMxUvvTfvP6yDFxdOvMGaxIZMocZYhMEmsM0MDc3F4D3f8Kn3Et4p%2FcToRlfycfpDRarnquQFdtaWloex3SkHzly5C8o4914PsdS%2BSv9Ov6C5YAeCljzQoawvI7crNfXr%2F8IMADlMDTD%2BOWcSAAAAABJRU5ErkJggg%3D%3D); - background-position: center center; - background-repeat: no-repeat; - border-radius: 5px; - height: 50px; - margin: 0 15px 5px; - width: 50px; -} -.object-label { - color: #fff; - display: block; - text-align: center; -} - -.object-icon:hover { - background-color: rgba(0, 0, 0, 0.2); -} - -.object-icon-component .object-icon { - /* gray gear */ - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAACE5JREFUWIWdV2tsHNUV%2Fu6989iHd9frtVeJsUNsEW8AOYSkTUgs9SVKoahSUdpKSC0toBapSEhBVuFPsOxfFInSP6hCgoigVhS1IFVtgKBKaaIoxBFOChF1bceubRI7btbe3cyOZ%2BbOffRHPKP1I63cK11p5%2BzMOd853znnnkuwyTUwMIBSqdTKGOswTTOjtUYYho7jOFcmJibKL7300qb0GZsFQClNbN%2B%2B%2FWhXV9f9ACwA0FrzycnJv83NzR0C4G1K32YBSCltAD25XC6Zy%2BVYLpdjzc3NScZYDyHEbny3v7%2F%2Ff%2BrbMAJDQ0NwXbdg2%2FY%2Bx3E%2BfOWVV3Sk0DAMyzTNNKWrsRuGkWaMWdHz4cOHIaXE4ODgg57njbz44ovXN7JF1gqef%2F55FIvFXXv37n1z586du0%2BePPnG2NjYL0zTNLdu3frtbdu2%2FejOO%2B%2F8ajabZY3fOY4jR0dHT09PT%2F92YWHhuFIq2L179y%2F379%2F%2F04WFhc8uXrz44%2FHx8U%2BHhoZuDWBoaAjpdHrXgQMH3unp6dlJKYXv%2B3J0dHQ4k8nkOzs7S6lU6pa0aa3huq6am5sbD4Jgsaen5z7TNJlSCvPz8%2BPDw8M%2FePLJJz9t%2FGaVF%2Fv27Sv09fW9VyqVegm5iY0xRtvb2ztbWlraDMMgWmv8t20YBmlpaWltbW3dRgihSikIIZBIJAqmaR4sFovvnjlzZjmmrhFAc3PzlwuFwm4pJbTWYIyBEAKl1M1wrYDSWsP3fbiuC6010uk0EonEqkhorQEAUkoIIaCU0plMpjeVSt0H4M8bArh27dqJycnJ15uamp6wbZtFICilIISAc47FxUX4vg%2FDMJBMJgEA5XIZYRjCtm0UCgUYhhGDCMMQYRhq3%2Ff12NjYm%2FV6%2FfgtKRgeHsa99957xjTNrxQKhW2RnFKKer2OxcVFJJNJpNNp2LYNSikopbBtG8lkEoQQVKvVm54ZBqSU4JyDc04mJyeHx8bGfjI4OLjcaHNdGYZhaBFCClHYtdZYXl6G7%2FvIZDIxDWuX1hqUUqTTadTr9SgfIgBQSuXDMFxnb1VG9%2Ff3I5%2FPf6dYLPZIKaGUAuccN27cgGmaq4wppbSUUiuloJRalYi2bcNxHHiehyAIIIRAsVjc0dzc%2FNBaAOTIkSNobW21GWMJzrnZ2dn5h7vuuutrjDEwxuB5XpyQpmmCMaYrlUp9bGzsT6Ojoyds20Z3d%2FcDO3bs%2BG42m20CQKSU8H0fQoibPDMGwzAwPj5%2B%2BsqVK4csywoJIUG5XPaN5ubmwj333HM0m832SCnTpmm2R54opSClBKUUWmsIIXSlUqmPjIz8%2FPz5828fO3ZMAsBjjz32dq1W%2B3DPnj2%2FyeVyWSEEOOeQUsIwDFBKwRhDqVTq6%2B7uvsgYq7uue%2FnSpUuPG4SQ26SU9wshUoyx2HBjyTUCmpycfG9kZCQ2DgBvvfWWpJT%2BPpfL3d%2Fb2%2Ft4EAQR70gmkzCMmHpGKe0QQkAIsV0I0UE5502cc0tKiYj3yPO1AIQQmJ2dPXH06FGJNcs0TTU9Pf2%2B67ox71GFRL2k0Qbn3PQ8r8mI%2FhBCxM1jbXZHEVFKIQxDtVEVtLW1IQgC7XlezLtlWXElNAJoBEIB1IUQPBI0viCEAGMsjgqllNx%2B%2B%2B0PPPPMM%2BvOg0qlQjs6Or4F3OwBlmUhkUis87xBd0gIcQwAV8MwPOn7fg%2BltMm27aJlWQwAOOewbRtBEMRedXV1HaKUnujv7%2F9jtVpVvb29mJmZobt27Xpky5Yt34%2B8JoTAsiwEQRA7E4ahCoJgQSnlcs4vE0Kukueeew75fD6RuNnMza1bt77T3t7%2B9ah0UqkUHMeJAVBKNef8huu673LO39daa9M0H0qlUt9LpVI5rTWJ6Mxms1heXoYQAlJKffXq1TPz8%2FOHAIS%2B7weVSsVb19Zee%2B21x%2B%2B4447XLcuihmHANE0YhoF6vR5XRtR4ovKilMKyLERVxDmHZVloKEfNOdcTExM%2Fe%2Bqpp95otLeOy2q1erxer%2F8zSsDIG9M04XkeXNfF8vIywjCM261lWYgmJEIIMpkMLMuKk5cQQhzHuVyr1f6y1t6q3vzss8%2FCdd2gVquVs9ls3Mk8z4Nt20in03BdN87wyOsILACkUikwxhCGIUzTjI9y13XLrusGawHEp%2BHhw4ehlMLdd9%2F9q46OjkcAUEIIKKUwDAOMMdi2jZaWltiI1hqEEJimiWQyiWQyCa01onmCEBL%2Fbmpqarcsq6W7u%2Fv42bNn1wM4d%2B4cHn744W%2Fu37%2F%2F14wxFnkY7ZVzIA6rZVlIpVKwbRuMsXX13dg%2FVhoZaWtr27u0tHT%2Bo48%2BurxhDnDOL1Qqlb%2Bv8BZtvfYIjnLD9334vh%2F3%2FZWt19b%2BytxAFhcXL7mu%2B8mGFADA6dOnvYMHD36czWa%2FkUgkWimlGoCqVqsfCyGqlmW10oZ5vBHYSg5oKaWq1Wr%2FcBxn3LKs27TWRGtNHMeZmJqaerS%2Fv%2F9ftwQAAHv27Pm3lPJUOp0%2BkEqltszOzr7x%2BeefP1Eul4%2B5rntRKZVJJpNdjDHaCEAIoRYWFv46PT39wtTU1Auzs7O%2FY4zl8%2Fn8lyqVymdTU1OPzs%2FPf3bq1KlV9jYebwAMDg625vP5fTMzMx%2B8%2FPLL8SExMDDQ2tfXd7G9vb2j8f25ublrw8PDu44cORJfQJ5%2B%2BmlSKpUerNVqnzTKG9ct74YDAwNlAO%2BvlQdBEEopl9fmhZTSC4JANMpeffVVDeCDW9kA%2Fo%2B74eLiIvc8bzYMw0ApJbXWMgzDwPO8maWlJb5ZfZu%2BHS8tLXkXLlz44RdffHFbcmUu9zzPu379%2BtVyuexuVt9%2FAKVP%2BiORVHX0AAAAAElFTkSuQmCC); -} \ No newline at end of file diff --git a/js/panels/objects/objects-panel.reel/objects-panel.html b/js/panels/objects/objects-panel.reel/objects-panel.html index d68a59c0..17f414e8 100644 --- a/js/panels/objects/objects-panel.reel/objects-panel.html +++ b/js/panels/objects/objects-panel.reel/objects-panel.html @@ -27,11 +27,7 @@ "arrayController": { "prototype": "montage/ui/controller/array-controller", "bindings": { - "content" : { - "boundObject": {"@": "owner"}, - "boundObjectPropertyPath": "objects", - "oneway": true - } + "content": {"<-": "@owner.objects"} } }, "objectComponent": { @@ -40,16 +36,8 @@ "element": {"#": "list-item"} }, "bindings": { - "sourceObject" : { - "boundObject": {"@": "repetition"}, - "boundObjectPropertyPath": "objectAtCurrentIteration", - "oneway": true - }, - "identifier" : { - "boundObject": {"@": "repetition"}, - "boundObjectPropertyPath": "objectAtCurrentIteration.identifier", - "oneway": true - } + "sourceObject" : {"<-": "@repetition.objectAtCurrentIteration"}, + "identifier" : {"<-": "@repetition.objectAtCurrentIteration.identifier"} } } -- cgit v1.2.3 From 1f855ae600c9f796bb8c6abe01fd7f9ffd15a1ac Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Tue, 12 Jun 2012 12:57:58 -0700 Subject: Objects Controller - Add concept of categories --- js/controllers/objects-controller.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'js') diff --git a/js/controllers/objects-controller.js b/js/controllers/objects-controller.js index f700c03c..7da70520 100644 --- a/js/controllers/objects-controller.js +++ b/js/controllers/objects-controller.js @@ -7,6 +7,10 @@ var Montage = require("montage/core/core").Montage, Component = require("montage/ui/component").Component; +var CATEGORIES = { + +}; + var objectsController = exports.ObjectsController = Montage.create(Component, { _currentDocument : { @@ -172,6 +176,29 @@ var objectsController = exports.ObjectsController = Montage.create(Component, { } }, + /* ----- Category properties ----- */ + + getObjectCategory : { + value: function(object) { + if(this._hasPrototype(object, 'Component')) { + return 'Component'; + } + + return null; + } + }, + + _hasPrototype : { + value: function(object, prototypeName) { + var prototypes = this.getPrototypes(object).map(function(proto) { + var metadata = proto._montage_metadata; + return (metadata) ? metadata.objectName : "Object"; + }); + + return prototypes.indexOf(prototypeName) !== -1; + } + }, + /* ---- Bindable controller properties ---- */ currentObjectBindings : { -- cgit v1.2.3 From 3ceb1282fa317023706e001bb4ec5ac61e40590f Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Tue, 12 Jun 2012 12:58:50 -0700 Subject: Components - Add object instance to model's objects array --- js/panels/components-panel.reel/components-panel.js | 1 + 1 file changed, 1 insertion(+) (limited to 'js') diff --git a/js/panels/components-panel.reel/components-panel.js b/js/panels/components-panel.reel/components-panel.js index e6b7a6e3..c8e5ac9a 100755 --- a/js/panels/components-panel.reel/components-panel.js +++ b/js/panels/components-panel.reel/components-panel.js @@ -302,6 +302,7 @@ exports.ComponentsPanel = Montage.create(Component, { componentInstanceOnFirstDraw: { value: function(instance) { this.application.ninja.elementMediator.addElements(instance.element); + this.application.ninja.currentDocument.model.mObjects.push(instance); } }, -- cgit v1.2.3 From 311fa07b85407386ed07237530cb464a432526c5 Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Tue, 12 Jun 2012 12:59:22 -0700 Subject: Binding View - Use same icon component as objects panel --- js/stage/binding-view.reel/binding-view.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'js') diff --git a/js/stage/binding-view.reel/binding-view.html b/js/stage/binding-view.reel/binding-view.html index 90ef2286..a9e859e4 100755 --- a/js/stage/binding-view.reel/binding-view.html +++ b/js/stage/binding-view.reel/binding-view.html @@ -57,14 +57,14 @@ "objects": {"<-": "@owner.nonVisualComponents"} } }, - "nonVisualComponent": { - "prototype": "js/stage/binding-view.reel/non-visual-component.reel", + "objectIcon": { + "prototype": "js/panels/objects/object.reel", "properties": { "element": {"#": "nonVisualComponent"} }, "bindings": { - "objectName": {"<-": "@hudRepeater.objectAtCurrentIteration.objectName"}, - "objectImage": {"<-": "@hudRepeater.objectAtCurrentIteration.objectImage"} + "sourceObject": {"<-": "@nonVisualRepeater.objectAtCurrentIteration"}, + "identifier": {"<-": "@nonVisualRepeater.objectAtCurrentIteration.identifier"} } } } -- cgit v1.2.3 From bb1ab90e9ad1814f4e26f820bcdf5e54fa838a18 Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Tue, 12 Jun 2012 12:59:42 -0700 Subject: Binding Panel - set up new edit view layout --- .../edit-binding-view.reel/edit-binding-view.css | 13 +++++++++ .../edit-binding-view.reel/edit-binding-view.html | 31 ++++++++++++---------- 2 files changed, 30 insertions(+), 14 deletions(-) (limited to 'js') diff --git a/js/panels/binding/edit-binding-view.reel/edit-binding-view.css b/js/panels/binding/edit-binding-view.reel/edit-binding-view.css index aa539cd6..37e27309 100644 --- a/js/panels/binding/edit-binding-view.reel/edit-binding-view.css +++ b/js/panels/binding/edit-binding-view.reel/edit-binding-view.css @@ -19,6 +19,19 @@ -webkit-user-select: text; } +.edit-object-binding { + display: -webkit-box; + -webkit-box-orient: horizontal +} +.edit-object-binding > div { + -webkit-box-flex: 1; + overflow: hidden; +} +.edit-object-binding .object-icon { + -webkit-transform: scale(.75); + float: left; +} + .edit-binding-view ul { padding: 0; margin: 0; diff --git a/js/panels/binding/edit-binding-view.reel/edit-binding-view.html b/js/panels/binding/edit-binding-view.reel/edit-binding-view.html index 604d4871..c13e4587 100644 --- a/js/panels/binding/edit-binding-view.reel/edit-binding-view.html +++ b/js/panels/binding/edit-binding-view.reel/edit-binding-view.html @@ -148,23 +148,26 @@
-
\ No newline at end of file diff --git a/js/panels/binding/edit-binding-view.reel/edit-binding-view.js b/js/panels/binding/edit-binding-view.reel/edit-binding-view.js index c9f946f5..10f427af 100644 --- a/js/panels/binding/edit-binding-view.reel/edit-binding-view.js +++ b/js/panels/binding/edit-binding-view.reel/edit-binding-view.js @@ -145,7 +145,6 @@ exports.EditBindingView = Montage.create(Component, { controller.editBinding(this.bindingArgs, newBindingArgs); } - controller.currentObject = controller.currentObject; } }, @@ -174,7 +173,6 @@ exports.EditBindingView = Montage.create(Component, { var controller = this.application.ninja.objectsController; controller.removeBinding(this.bindingArgs); - controller.currentObject = controller.currentObject; this.parentComponent.editing = false; } -- cgit v1.2.3 From 1c32ba9a460bbb737206ce10d1ea75f035f543b7 Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Wed, 13 Jun 2012 11:29:53 -0700 Subject: Objects Controller - Update current object bindings when adding/removing bindings --- js/controllers/objects-controller.js | 3 +++ 1 file changed, 3 insertions(+) (limited to 'js') diff --git a/js/controllers/objects-controller.js b/js/controllers/objects-controller.js index 7da70520..386ef683 100644 --- a/js/controllers/objects-controller.js +++ b/js/controllers/objects-controller.js @@ -66,6 +66,7 @@ var objectsController = exports.ObjectsController = Montage.create(Component, { if(!bindingArgs.sourceObject || !bindingArgs.sourceObjectPropertyPath || !bindingArgs) { return; } Object.defineBinding(bindingArgs.sourceObject, bindingArgs.sourceObjectPropertyPath, bindingArgs); + this.currentObjectBindings = this.getObjectBindings(value); } }, @@ -76,6 +77,7 @@ var objectsController = exports.ObjectsController = Montage.create(Component, { Object.deleteBinding(bindingArgs.sourceObject, bindingArgs.sourceObjectPropertyPath); + this.currentObjectBindings = this.getObjectBindings(value); } }, @@ -92,6 +94,7 @@ var objectsController = exports.ObjectsController = Montage.create(Component, { } this.addBinding(bindingArgs); + } }, -- cgit v1.2.3 From d57ab6509805ba4e97d6c74be913a2c1b324af3a Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Wed, 13 Jun 2012 11:30:37 -0700 Subject: Binding Panel - Dock the edit view when transition ends so horizontal resizing works --- js/panels/binding-panel.reel/binding-panel.css | 5 +++ js/panels/binding-panel.reel/binding-panel.js | 56 +++++++++++++++++++++++--- 2 files changed, 55 insertions(+), 6 deletions(-) (limited to 'js') diff --git a/js/panels/binding-panel.reel/binding-panel.css b/js/panels/binding-panel.reel/binding-panel.css index a1d5be0f..787cf114 100644 --- a/js/panels/binding-panel.reel/binding-panel.css +++ b/js/panels/binding-panel.reel/binding-panel.css @@ -20,3 +20,8 @@ .binding-panel-toolbar-container { -webkit-box-flex: 0; } + +.binding-panel .edit-view-docked { + left: 0; + -webkit-transition-duration: 0; +} \ No newline at end of file diff --git a/js/panels/binding-panel.reel/binding-panel.js b/js/panels/binding-panel.reel/binding-panel.js index 0641ecf5..45fa4005 100644 --- a/js/panels/binding-panel.reel/binding-panel.js +++ b/js/panels/binding-panel.reel/binding-panel.js @@ -6,6 +6,19 @@ exports.BindingPanel = Montage.create(Component, { bindings : { value: null }, editView : { value: null }, + + _dockEditView : { value: null }, + dockEditView : { + get : function() { return this._dockEditView; }, + set : function(value) { + if(value === this._dockEditView) { return; } + + this._dockEditView = value; + + this.needsDraw = true; + } + }, + _editing: { value: null }, editing: { get: function() { @@ -14,6 +27,11 @@ exports.BindingPanel = Montage.create(Component, { set: function(value) { if(value === this._editing) { return; } this._editing = value; + + if(!value) { + this.dockEditView = false; + } + this.needsDraw = true; } }, @@ -28,6 +46,18 @@ exports.BindingPanel = Montage.create(Component, { } }, + /* ------------------------- + Event handlers + ------------------------- */ + + handleWebkitTransitionEnd : { + value: function(e) { + console.log("trans end"); + + this.dockEditView = this.editing; + } + }, + /* ------------------------- Toolbar Button Actions ------------------------- */ @@ -54,8 +84,16 @@ exports.BindingPanel = Montage.create(Component, { } }, + prepareForDraw : { + value: function() { + + } + }, + willDraw: { value: function() { + this.editView.element.addEventListener('webkitTransitionEnd', this, false); + if(this.editing) { this._translateDistance = this.element.offsetWidth; } @@ -64,15 +102,21 @@ exports.BindingPanel = Montage.create(Component, { draw : { value: function() { - var transStr = '-webkit-transform'; + var transStr = '-webkit-transform', + editViewEl = this.editView.element; - if(this.editing) { - this.editView.element.style.setProperty(transStr, 'translate3d(-'+ this._translateDistance + 'px,0,0)'); - this.editView.element.style.setProperty('box-shadow', '0 0 10px rgba(0,0,0,0.2)') + if(this.dockEditView) { + editViewEl.classList.add('edit-view-docked'); + editViewEl.style.removeProperty(transStr); } else { - this.editView.element.style.removeProperty(transStr); - this.editView.element.style.removeProperty('box-shadow'); + editViewEl.classList.remove('edit-view-docked'); + if(this.editing) { + editViewEl.style.setProperty(transStr, 'translate3d(-'+ this._translateDistance + 'px,0,0)'); + } else { + editViewEl.style.removeProperty(transStr); + } } + } } }); \ No newline at end of file -- cgit v1.2.3