**** BEGIN LOGGING AT Tue Jan 13 02:59:59 2015 Jan 13 15:11:25 Hey, I just pulled Sampler, and the Enyo submodule has tags 2.4.0 and 2.5.0, but not 2.5.1 nor 2.5.1.1. Do I need to do some funky git pull to get all the tags for a submodule? Jan 13 15:16:18 DougReeder: the submodule shows " enyo @ 0df607c " in github Jan 13 15:16:54 0df607c is tag 2.5.3-zzz.7 Jan 13 15:17:04 which was tagged before 2.5.1.1 Jan 13 15:17:55 I think git submodule tells you the commit that’s currently used for the submodule. Jan 13 15:19:05 yea, that's my point Jan 13 15:19:22 since a commit that is before 2.5.1.1 is used for the submodule Jan 13 15:19:33 So, I’m not sure that git submodule tells us anything we need here. Jan 13 15:19:34 it's only logical that you would not find a 2.5.1.1 tag there Jan 13 15:19:49 Oh, I see. Jan 13 15:20:09 So, Sampler hasn’t *yet* been updated to 2.5.1.1 Jan 13 15:20:22 that seems to be the case Jan 13 15:20:48 Is that commit prior to 2.5.1 ? Jan 13 15:54:24 https://github.com/enyojs/enyo/blob/master/samples/PlatformSample.js has been updated to show the version of Enyo, but the Sampler app doesn’t seem to use that. What’s going on? Jan 13 15:56:59 it doesn't? Jan 13 15:57:28 http://nightly.enyojs.com/latest/sampler/debug.html does, but the latest checked out of GitHub doesn’t Jan 13 15:57:47 weird Jan 13 16:03:59 Nuked my repo and cloned sampler again. Version now visible Core > Platform. Also, enyo submodule has tags 2.5.1 and 2.5.1.1 Jan 13 16:04:28 So, just doing a git pull doesn’t properly update sampler and its submodules :-( Jan 13 16:04:30 weird Jan 13 16:04:50 wait Jan 13 16:05:03 you were trying to update the submodules with git pull? Jan 13 16:05:27 I ran git pull in sampler. Jan 13 16:05:42 yea, but that only updates the repo Jan 13 16:05:46 not the submodules Jan 13 16:06:10 Do you need to do something like git submodule foreach git pull ? Jan 13 16:06:20 you have to use `git submodule update` to update a submodule Jan 13 16:06:30 read `man git-submodule` Jan 13 16:06:54 I did that at one point, and was still getting old code. Jan 13 16:07:49 that should not be the case Jan 13 16:38:46 * Semanticfire_2 has a blackout it seems Jan 13 16:39:14 I create component and in its initialization I want to point to another component: Jan 13 16:40:12 a blackout? Jan 13 16:40:23 component: [{ kind: "myKind", parameter: this.$.otherkind },{ name: "otherkind", .... Jan 13 16:40:29 I thought that shoudl work ? Jan 13 16:41:00 Semanticfire_2: no Jan 13 16:41:27 everything in that array is evaluated before the kind is made Jan 13 16:41:39 so this.$.otherkind does not exist yet Jan 13 16:41:46 because this.$ doesn't exist yet Jan 13 16:42:06 well that figures since it doesn't work :) Jan 13 16:42:25 is there a option to do that or are bindings my only saviour Jan 13 16:42:38 this is a case you should use bindings more than likely. Is there a reason you don't want to? Jan 13 16:42:48 bloated Jan 13 16:43:07 how so? Jan 13 16:43:29 also, why does one need a reference to the other, anyway? Jan 13 16:43:45 one is map, the other a extra layer I want to display on the map Jan 13 16:44:29 ok, so why not communicate between the two using the wrapper kind? Jan 13 16:44:39 you can send and receive events to and from it Jan 13 16:44:58 yeah thought about that as well Jan 13 16:45:04 or you could also use signals Jan 13 16:45:39 Or hell, the wrapper kind could just throw the reference to this.$.otherkind in the component in create() Jan 13 16:46:15 that kills the loose coupling Jan 13 16:46:25 I actually do it the otherway around Jan 13 16:46:53 I'll add a new property to the map kind which can contain layer kinds Jan 13 17:45:26 or you can set it after rendered Jan 13 17:57:39 -v ? Jan 13 18:00:10 I can't scroll back because I had to reboot this server. grr. Jan 13 18:03:10 lol Jan 13 18:04:50 :) Jan 13 18:06:39 I'm totally confused on passing published attributes of a kind as a 'parameter' for kinds components.. Jan 13 18:07:31 { name: "foo", published { bar: null },components [ { kind: "foobar", element: this.bar } ] } Jan 13 18:07:37 I expected this to work Jan 13 18:14:14 nope Jan 13 18:14:40 published is simply for the kind factory Jan 13 18:14:50 it is not used in component notation Jan 13 18:15:12 you just refer to published properties like normal properties Jan 13 18:15:31 { name: "foo", bar: null,components [ { kind: "foobar", element: this.bar } ] } Jan 13 18:15:49 as for the "this.bar Jan 13 18:15:51 part Jan 13 18:16:04 this would refer to the object that you are declaring this kind in Jan 13 18:16:09 not the kind you are declaring Jan 13 18:18:04 so how should i refer to bar then ? Jan 13 18:19:20 bindings Jan 13 18:19:54 and that was what I wanted to prevent ;) Jan 13 18:20:06 Yea, and I don't know why Jan 13 18:20:36 You are doing a lot of crap that should be done in a kind definition rather than on-the-fly Jan 13 18:20:50 and then trying to stay away from the only easy way to do that Jan 13 18:21:07 what do you have against bindings? Jan 13 18:21:36 nothing persee Jan 13 18:21:44 but in this case it is too bloated Jan 13 18:22:26 it really isn't Jan 13 18:23:00 *ping* dmanderson sugardave Roy__ for voice of reason Jan 13 18:24:19 :) Jan 13 18:25:46 Can't you just make the assignment after everything is constructed? Jan 13 18:26:57 I'm trying bindings now Jan 13 18:27:02 yay Jan 13 18:27:16 * GodGinrai starts fixing the red beans and rice Jan 13 18:27:31 is there a bug in it ? Jan 13 18:27:44 GodGinrai: Hmm? did you break the red beans and rice again? Jan 13 18:28:31 Roy__: fixing as in making, cooking, preparing Jan 13 18:28:56 Suuuure. Jan 13 18:29:15 Morning enyoers Jan 13 18:29:25 ey dmanderson Jan 13 18:30:42 Roy__: http://en.wikipedia.org/wiki/Sekihan Jan 13 18:31:50 Ahhh. Jan 13 18:32:05 not http://www.foodnetwork.com/recipes/emeril-lagasse/red-beans-and-rice-recipe2.html Jan 13 18:35:19 nope Jan 13 18:35:56 it was a joke about Semanticfire_2 finally using bindings, but I guess no one here got it >.> Jan 13 18:41:42 lol Jan 13 18:41:52 if no one gets the joke, is it still a joke Jan 13 18:41:53 ? Jan 13 18:41:54 :p Jan 13 18:42:21 dmanderson: your philosophy is not appreciated here Jan 13 18:42:26 * GodGinrai shows dmanderson the door Jan 13 18:42:38 * dmanderson runs out and back in, it’s a new visit now. Jan 13 18:43:05 * GodGinrai shows the new visitor the newly placed sign "no Philosophy allowed" Jan 13 18:53:31 :) Jan 13 20:16:23 are modelcontrollers in 2.5 still of use? or can one get away without using it Jan 13 20:16:55 Is it bad to say I never use them? Jan 13 20:20:45 never is strong word Jan 13 20:20:52 does that mean i shouldnt use them either? Jan 13 20:23:18 HAHA, I just haven’t found a specific use for them, I don’t think they are bad if you find a good use case for them. Jan 13 20:24:13 how cryptic Jan 13 20:24:19 what's a good use case for them? Jan 13 20:27:09 Cage1___: He's still looking for one :P Jan 13 20:53:04 Semanticfire_2: use bindings; love them; you will be so much happier Jan 13 20:54:31 :) Jan 13 20:54:46 yeah I've implemented bindings inside the kind now Jan 13 20:55:21 Cage1___: I was told a good use case for a ModelController is if you need something to act like a single model somewhere but need to change what that mofel is....it is confusing, so I just never use them and do .set("model", newmodel). We'd need Cole or maybe Roy__ to explain it better Jan 13 20:55:50 i think i found one... Jan 13 20:57:13 (maybe)...because JS is pass by reference for complex structures....if i want to save the original reference to model , e.g. when i am replacing variable with new information but want to preserve the old info... (if that makes sense) Jan 13 20:58:17 for example, i have a popup filled with current info. user makes some changes. if they hit save, i need to save the old info to db, as well as new info. if they hit cancel, i need to discard the changes... Jan 13 20:59:45 hmm, looking at the source it seems that it might just be helpful for not having to refresh bindings manually when you change something's model...it also propagates events. Jan 13 21:00:00 that's it Jan 13 21:02:08 there has to be some other compelling reason to use them, because I thought .refreshBindings() is gone anyway...? Jan 13 21:03:19 lol GodGinrai Jan 13 21:05:31 internally, nothing in core uses a ModelController Jan 13 22:28:53 does model.restore() restore it the state prior to commit? or just to the state prior to the most recent .set()? Jan 13 22:51:22 it looks like commited Cage1__ Jan 13 22:51:27 this.previous = Jan 13 22:53:36 hmm, so if i have never committed it and do .restore(), it should unset all properties, even i change them many times... Jan 13 23:00:31 looking at the source, I only see it at create time of the model, and commit. Jan 13 23:12:54 okay. guess i'm doing something wrong then because that's not the way it's working for me :( Jan 13 23:21:55 What version of enyo? Jan 13 23:22:06 2.5.1.1 Jan 13 23:27:07 Did we fix the bug with restore/ Hmm. Jan 13 23:27:30 There is(was) a bug with restore. IT just doesn't work. Not sure if it was fixed yet. Jan 13 23:27:37 Let me track down the Jira. Jan 13 23:28:07 i have a collection records; i'm doing a collection.map(function(obj){obj.restore(); return obj;} Jan 13 23:28:43 It isn't fixed. Jan 13 23:29:00 Restore will not work as implemented. Jan 13 23:29:06 :/ Jan 13 23:29:28 simple fix or not? :) :) Jan 13 23:29:34 Well.. Jan 13 23:29:51 You have to override the model to set a new value into the 'previous' member at creation time. Jan 13 23:30:09 Currently it clones the value from the passed in data, which causes it to remain in lock-step with the actual value. Jan 13 23:30:42 ah good looking out Roy__ Jan 13 23:31:22 ENYO-521. Not sure why we deferred it. It's kinda nasty. Jan 13 23:31:30 quite :) Jan 13 23:32:08 Basically, don't do a quick clone into previous. Jan 13 23:32:43 I will alert Jim to mark this as a known issue in 2.5.1.1 Jan 13 23:32:46 technically, shouldn't clone work for simple values?? Jan 13 23:35:04 It does work for /simple/ values. Previous is an object. Jan 13 23:35:27 line 721 in Model.js: this.previous = enyo.clone(this.attributes, true); Jan 13 23:35:43 change true to false and it'll work. Jan 13 23:35:52 At the cost of some performance. Jan 13 23:35:57 enyo.clone, ah is true = deep clone? Jan 13 23:36:10 no, true is quick clone, I believe. Jan 13 23:36:24 if that's a direct paste from source. Jan 13 23:37:47 it is and you're right, true = quick per doc Jan 13 23:38:23 and it solved my problem :) Jan 13 23:43:21 yay Jan 13 23:50:31 blah, irc cloud went down... Jan 13 23:50:34 changing it to "this.previous = enyo.clone(this.raw(), true);" also works - but prob not advisable?? **** ENDING LOGGING AT Wed Jan 14 02:59:59 2015