As noted on the nibble.be comments it would be really cool to have a ListView within a ListeView.
There is a relationship between 2 tables. The first table list People that are owners of pets, and when you click on one node in Owner it folds out and you can see all the Pets one Owner has, like children.
List owners, and click on one Owner, I can se the edit page for that Owner, then if I add the above code , compile and reload the edit Owner page I can see the Dogs listview.
It seems as if it is trying to populate the listview for Dogs when it is populating the listview for Owners
Awesome. I think it'd be great if we had different properties to allow or deny Create, Update, and Delete operations for each UIOMatic attribute, rather than just setting ReadOnly.
Our use case is that we only want our users to modify a few attributes of existing data, so what I've done as a bodge is added a line in list.controller.js:
$scope.readOnly = response.data.ReadOnly;
//if this is of a specific type, let's set our new property
$scope.updateOnly = $scope.typeName.indexOf('UIOMaticAttributeName, ExampleProject') != -1;
and modified the list.html by adding to ng-hide attributes:
This way I can hide the Create or Delete buttons. It doesn't stop the user from right-clicking in the left pane and clicking "Create" though.
Also, is there any way to change the text rendered for the application in the backend? It's a little confusing for users to see "UI-O-Matic" and I couldn't figure out how to change it beyond changing the wand icon.
Running 1.6.0 I'm having trouble using the filter on the Person view for in your mentioned case (dogs, persons) when using the property for Dogs on the Person model as discussed here. The property is set like:
When trying to use the filter I'm getting a 500 internal server error, SQLException Invalid column name "Dogs". The list of persons is working and clicking one will show the person page with the list of dogs correct. Filtering on the dogs page works as well.
Can't seem to get a hang of what is wrong though? I saw you guys discussed inner joins in another thread "Foreign Keys with label view". Do I need to construct the BuildingQuery in that manner perhaps? Currently it's configured like:
I'm not sure i quite follow. Add [Ignore] to OwnerId on its (dog) model as well besides the already present ignore attribute on the person model for dogs?
Nope you shouldn't add it to ownerid, but it seems like it isn't doing the trick on the dogs property (the ignore attribute) so maybe it's the wrong attribute (coming from a different namespace)
I've tried removing the ignore attribute on the Dogs property for Person model without any success. The dog model has the following for ownerId:
[UIOMaticIgnoreFromListView]
public int OwnerId { get; set; }
When entering list view for persons and start typing something in the search input for filtering I keep getting: Get 500 Internal Server Error with exception message: Invalid column name 'Dogs'.
I've also noticed that whenever I click somewhere on the page I get an error in the browser console saying: Uncaught Error: Syntax error, unrecognized expression: #/uiomatic/uioMaticTree/edit/Example.Models.Person, Example, Version=1.0.1202.1258, Culture=neutral, PublicKeyToken=null which also shows up whenever I click on the page when on list view for Dogs.
No idea/solution to why the filtering isn't working in the list view for persons and why clicking on a list view page (persons or dogs) keeps giving uncaught errors in the browser console?
the listview feature in the umbraco backend is awesome!
But how do i display the listview in a template, so i can see it in the frontend website?
I should be able to access the property by its alias "layout" and then get the columns for example. How do i get the columns?
var layout = CurrentPage.Content.GetProperty("layout");
var columns = layout.Columns;
Listview within listview.
As noted on the nibble.be comments it would be really cool to have a ListView within a ListeView.
There is a relationship between 2 tables. The first table list People that are owners of pets, and when you click on one node in Owner it folds out and you can see all the Pets one Owner has, like children.
Comment author was deleted
So on the people detail you would want to show a list view of all pets (related to that person)?
Exactly and also if search could be possible in all tables at the same time ;-) And be possible to edit the dogs properties
Comment author was deleted
OK will see what I can whip up, having a nested listview is certainly possible
Comment author was deleted
Making some progress on the listview field, just need to make sure it can filter now
Comment author was deleted
Marking the property will look something like this (so you need to define the type and also the foreign key colum that will be used to filter on).
Does this make sense? Still seeing if I can remove the typeName from the config since the property contains the type...
Comment author was deleted
Ok just publised the new version to nuget that includes this list view
https://www.nuget.org/packages/Nibble.Umbraco.UIOMatic/
Let me know if you have further questions about this feature, have a good weekend!
Hi, great work.
However when doing the listing of the first model it crashes the the first listview.
Is it possible to ignore the property when not in edit mode for a specific "Owner"
Comment author was deleted
So it crashes when you create a new object?
No, that works fine.
But when I try to list Owners it crashes.
However, if I remove the
List owners, and click on one Owner, I can se the edit page for that Owner, then if I add the above code , compile and reload the edit Owner page I can see the Dogs listview.
It seems as if it is trying to populate the listview for Dogs when it is populating the listview for Owners
Comment author was deleted
And if you mark it with the UIOMaticIgnoreFromListView attribute?
Comment author was deleted
Then it shouldn't show up in the listview
Comment author was deleted
Ok found the fix, just testing now and then I'll build a new version
Comment author was deleted
Ok new version (1.4.1) is up https://www.nuget.org/packages/Nibble.Umbraco.UIOMatic/ that fixes the crash
Excellent, now it works like a charm!!
:-)
One last,
Is it possible to make the listview ReadOnly? ;-)
Comment author was deleted
Sure will add a config option
Comment author was deleted
You can now add an additional config option ('canEdit' : false)
In the latest release 1.4.2
Cheers, Tim
Comment author was deleted
Great :)
Yes Tim!! This is what I was asking for!! #h5yr
Comment author was deleted
@Matthieu great :) hope it's even more useful now
Is it possible to set on main view?
Comment author was deleted
Ok implemented the following
SO you can set it to readonly on the uiomatic attribute
Comment author was deleted
And it will be available on version 1.5.0 coming as soon as the build server kicks in https://www.nuget.org/packages/Nibble.Umbraco.UIOMatic/
Comment author was deleted
@Jonas nope that isn't possible, so you want to be able to place a list view in read only mode (no create and no edit), can add that of course :)
Yes, thats the wish.
Guess I am running out out wishes soon ;-)
Comment author was deleted
Haha well I guess santa is here early for you ;) will add the option! Love these ideas btw makes it even better!
Awesome. I think it'd be great if we had different properties to allow or deny Create, Update, and Delete operations for each UIOMatic attribute, rather than just setting ReadOnly.
Our use case is that we only want our users to modify a few attributes of existing data, so what I've done as a bodge is added a line in
list.controller.js
:and modified the
list.html
by adding tong-hide
attributes:This way I can hide the Create or Delete buttons. It doesn't stop the user from right-clicking in the left pane and clicking "Create" though.
Also, is there any way to change the text rendered for the application in the backend? It's a little confusing for users to see "UI-O-Matic" and I couldn't figure out how to change it beyond changing the wand icon.
Hi, did you find a way to change from icon-wand and uiomatic in the backend?
Comment author was deleted
It's defined in the code https://github.com/TimGeyssens/UIOMatic/blob/master/src/UIOMatic/Sections/Section.cs
Great, thanks. Request to be included as config in future release.
Hi.
Running 1.6.0 I'm having trouble using the filter on the Person view for in your mentioned case (dogs, persons) when using the property for Dogs on the Person model as discussed here. The property is set like:
When trying to use the filter I'm getting a 500 internal server error, SQLException Invalid column name "Dogs". The list of persons is working and clicking one will show the person page with the list of dogs correct. Filtering on the dogs page works as well.
Can't seem to get a hang of what is wrong though? I saw you guys discussed inner joins in another thread "Foreign Keys with label view". Do I need to construct the BuildingQuery in that manner perhaps? Currently it's configured like:
Comment author was deleted
Hmmm adding the ignore attribute should do the trick, what namespace is it coming form?
I'm not sure i quite follow. Add [Ignore] to OwnerId on its (dog) model as well besides the already present ignore attribute on the person model for dogs?
Comment author was deleted
Nope you shouldn't add it to ownerid, but it seems like it isn't doing the trick on the dogs property (the ignore attribute) so maybe it's the wrong attribute (coming from a different namespace)
I've tried removing the ignore attribute on the Dogs property for Person model without any success. The dog model has the following for ownerId:
When entering list view for persons and start typing something in the search input for filtering I keep getting: Get 500 Internal Server Error with exception message: Invalid column name 'Dogs'.
I've also noticed that whenever I click somewhere on the page I get an error in the browser console saying: Uncaught Error: Syntax error, unrecognized expression: #/uiomatic/uioMaticTree/edit/Example.Models.Person, Example, Version=1.0.1202.1258, Culture=neutral, PublicKeyToken=null which also shows up whenever I click on the page when on list view for Dogs.
No idea/solution to why the filtering isn't working in the list view for persons and why clicking on a list view page (persons or dogs) keeps giving uncaught errors in the browser console?
Comment author was deleted
Sorry didn't have time to look yet will try to see why it's happening this week
Hello,
the listview feature in the umbraco backend is awesome!
But how do i display the listview in a template, so i can see it in the frontend website? I should be able to access the property by its alias "layout" and then get the columns for example. How do i get the columns?
is working on a reply...