Alan,
I just thought I would drop a quick note for when you decide to progress
with this. I already have a method I developed in another solution that has
some features you may like. It would make sense to set some standards that
will help users as well as your design. I will do a short brain dump.
This method was designed building a complex tiddlywiki, however each
innovation made it easier to add more sophisticated features. This could be
used in your tables, in lists, in forms and much more. It also overcomes
limitation on editing the current tiddler. I propose a joint effort with
others.
- Provide a method for each tiddler to be viewed in read, update and
edit modes (A Global setting)
- Read only
- Update - point and click value changing
- Edit edit the field by multiple means
- Optional additional modes by tiddler/ field macro use
- Allow this setting to be overridden with a local value in each tiddler
- When referencing a field (or tiddler column) use a macro such as
`<<field fieldname>>` which responds to the mode at display time, using
currentTiddler.
- It does this by looking up a "field definition tiddler" eg
$:/field/fieldname
- This tiddler could contain column titles and more for a given field
to be listed in a table. We could load it with sort and other tricks
- $:/field/fieldname provides a reference to a fieldtype eg
$:/fieldtype/typename
- The field types are less in number to field definitions
- Field types store transcludable code for each mode read update and
edit. To display the field
The advantages are
- There is far less code this way as we abstract fields into reusable
field definitions and reusable field-types
- Whenever the field macro is used you can change the mode and the table
in your case will suddenly become fully editable according to the methods
defined in the field/field-type
- The Field macro can include an override pushing any desired field into
a particular mode, so a table can be read only yet column two cell content
is editable.
- These definitions can be shared in the community saving a lot of time
(See below for a list of field-types I already have)
- I created an add on designer process so one could use `<<field
fieldname>>` click to create field definition, then select or create the
field-type, making design very quick.
Some field types I have already defined
My Project was called landscape because it had lots of fields in the
landscape.
$:/landscape/field-types/caption
$:/landscape/field-types/email-address
$:/landscape/field-types/false-or-true
$:/landscape/field-types/false-true
$:/landscape/field-types/field-type
$:/landscape/field-types/filtered-list
$:/landscape/field-types/filtered-list-linked
$:/landscape/field-types/first-name
$:/landscape/field-types/gender
$:/landscape/field-types/hyperlink
$:/landscape/field-types/list-columns
$:/landscape/field-types/middle-names
$:/landscape/field-types/object-type
$:/landscape/field-types/optional-text
$:/landscape/field-types/person
$:/landscape/field-types/phone-number
$:/landscape/field-types/select-with-field-values-filter
$:/landscape/field-types/select-with-values-filter
$:/landscape/field-types/short-text
$:/landscape/field-types/surname
$:/landscape/field-types/text
$:/landscape/field-types/text-area
$:/landscape/field-types/text-data-existing
$:/landscape/field-types/text-existing
$:/landscape/field-types/text-line
$:/landscape/field-types/text-size-40
$:/landscape/field-types/title
$:/landscape/field-types/true-or-false
$:/landscape/field-types/true-or-false-show
$:/landscape/field-types/wikitext
$:/landscape/field-types/year
$:/landscape/field-types/yes-or-no
Regards
Tony
On Sunday, December 1, 2019 at 11:13:42 AM UTC+11, Alan Aldrich wrote:
>
> Hi Mohammed,
> Thank you for your kind words and support! I wish I could dedicate more
> time to TiddlyWiki and TiddlyTables. I agree with everything you said and I
> plan on expanding the functionality as well as the documentation. There are
> some features that could be optimized with the introduction of new TW
> filters and Widget enhancements and there are a few new features I would
> like to build in. For example, I would like to add a UI for swapping style
> and column templates and an easy way to toggle between read/edit mode. If
> you have any ideas for the next release please share. I am happy to hear
> others are using my plugin and I would love to see some examples. It might
> give me some ideas for enhancements if I saw how others are using it. Time
> is the limiting factor for me right now, but I hope that will change in the
> coming months. Thanks again for your great feedback.
> Cheers,
> Alan
>
> On Saturday, November 30, 2019 at 2:40:00 PM UTC-6, Mohammad wrote:
>>
>> Hi Alan,
>>
>> I was studying the TiddlyTables in last few days. This is a really great
>> piece of work.
>>
>> It uses the tiddler philosophy and one can learn Tiddlywiki scripting
>> (wikitext language) by studying TiddlyTables.
>>
>> The way TiddlyTables uses to construct rows and columns and format them
>> using template is amazing.
>> The modular approach and the ease of extending it is awesome. It uses
>> transclusion in many ways and produce a very complex dynamic table.
>>
>> Also, the plugin Task Manager which has been developed using TiddlyTables
>> shows how powerful it is.
>>
>> I highly recommend to add more documentation to it and let TiddlyTable
>> acts as la earning resource. Also ask Jeremy to add it to tiddlywiki.com
>> resources (https://tiddlywiki.com/prerelease/#Community).
>>
>> TiddlyTables can be also used for inspection and inline viewing and
>> editing bulk of tiddlers.
>>
>> I used your approach and some of your templates to create macros as a
>> very lite version in Shiraz 2.0.0 plugin called dynamic tables hopefully
>> will be published in a very near future.
>>
>> Note: I would recommend to add your answers to questions raised in forum
>> as documentation to tiddlytables.tiddlyspot.com
>>
>> Best wishes
>> Mohammad
>>
>>
>>
>>
>>
>>
>> On Wednesday, September 18, 2019 at 10:52:20 AM UTC+4:30, Alan Aldrich
>> wrote:
>>>
>>> Mohammed,
>>> Absolutely! I will assume you wish to use the class element for styling
>>> purposes and so I will focus on that. There are many options for styling a
>>> table. After you create a new table, click the Edit button and display the
>>> tables options, navigate to the first option under "Style" called "Template
>>> (Stylesheet)". this page displays a dropdown with choices that correspond
>>> to the stylesheets included in the plugin. The dropdown's value is stored
>>> in the field "tbl-class" and you can manually edit this field with any
>>> value you wish. an empty value will result in the table inheriting
>>> TiddlyWiki's table styling. The easiest way to create a new stylesheet is
>>> to clone $:/plugins/aaldrich/tables/style/standard and give it a new class
>>> name (tbl-class-name). You will then see your new stylesheet as an option
>>> on the dropdown.
>>>
>>> Keep this in mind. the class attribute defined in tbl-class is an
>>> attribute on a div element that acts as a container for the table element.
>>> This can be seen in: $:/plugins/aaldrich/tables/macro.
>>>
>>> Another option is to override parts of the selected stylesheet. In the
>>> Edit menu navigate to "Override (Inline Styles)". Here you can enter css
>>> properties for the table element or the div container that will take
>>> priority over the stylesheet.
>>>
>>> Lastly, there are two more options Under "Style" in the Edit menu.
>>> "Column Groups" and "Advanced Styles".
>>>
>>> - Column groups are useful for applying css properties to individual
>>> columns. Here is some more info on that:
>>> https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup
>>> - Advanced Styles documents a method for applying a style to an
>>> individual row in a table.
>>>
>>> Thank you for your questions and feedback Mohammad. I hope this helps,
>>> Alan
>>>
>>>
>>> On Wednesday, September 18, 2019 at 12:16:05 AM UTC-5, Mohammad wrote:
>>>>
>>>> Thanks Arlen! TiddlyTables is a great contribution!
>>>>
>>>> One question: Is it possible to simply add classes or override the
>>>> default classes for Tables?
>>>>
>>>> --Mohammad
>>>>
>>>> On Wednesday, September 18, 2019 at 8:22:35 AM UTC+4:30, Alan Aldrich
>>>> wrote:
>>>>>
>>>>> All,
>>>>> Thank you for your feedback. I couldn't agree more that the
>>>>> documentation for TiddlyTables needs improvement. I will try my best to
>>>>> do
>>>>> so in future releases. I have tried to integrate some of the
>>>>> documentation
>>>>> into the Edit menu. Advanced Styles, Advanced Features, More Columns and
>>>>> Getting Started all contain helpful information, but more is on the way.
>>>>> In
>>>>> the meantime, I started writing down a few paragraphs to cover a couple
>>>>> of
>>>>> the more advanced topics. I highly recommend reading through it and
>>>>> walking
>>>>> through the example I give. It can be found here:
>>>>> http://tiddlytables.tiddlyspot.com/#Digging%20deeper%20into%20TiddlyTables
>>>>>
>>>>> Another resource is the task manager example plugin (shown in the
>>>>> sidebar) which illustrates most of TiddlyTable's use cases. It consists
>>>>> of
>>>>> three separate tables, one nested inside the other:
>>>>>
>>>>> $:/plugins/aaldrich/task-manager/realm-table
>>>>> $:/plugins/aaldrich/task-manager/project-table
>>>>> $:/plugins/aaldrich/task-manager/task-table
>>>>>
>>>>> To enable the Edit menu for these tables, change the value of the
>>>>> field "tbl-show-edit" to "true" for each. This will enable the "Edit"
>>>>> button, making it easier to see how these tables were built and how they
>>>>> work together.
>>>>>
>>>>> Let me know if this information was helpful and/or if there are any
>>>>> other topics I should focus on in lieu of formal documentation.
>>>>>
>>>>> Thanks,
>>>>> Alan
>>>>>
>>>>>
>>>>> On Tuesday, September 17, 2019 at 10:49:01 PM UTC-5, Alan Aldrich
>>>>> wrote:
>>>>>>
>>>>>> Tony,
>>>>>> I am putting together some info that may clarify some of your
>>>>>> questions and will post that next, but I want to speak to a couple of
>>>>>> your
>>>>>> bullet points:
>>>>>>
>>>>>>
>>>>>> - A Table of tables filter `[contains:text[<<table>>]]` I did not
>>>>>> expect that to work give the special meaning of < and >
>>>>>>
>>>>>> I have not played much with the contains operator, but I am also
>>>>>> pleasantly surprised to see that you can put virtually anything in as
>>>>>> its
>>>>>> parameter and it will search for it. not only will it do < and > but you
>>>>>> can search on just about any symbol except square brackets. This of
>>>>>> course
>>>>>> has nothing to do with my plugin, but with the contains operator. The
>>>>>> filter you mention here is searching all tiddlers "text" fields for
>>>>>> <<table>> which is a fairly safe way to determine if the tiddler is a
>>>>>> table
>>>>>> or not.
>>>>>>
>>>>>> - I am not sure if I can change the template for the title column
>>>>>> for a specific table?
>>>>>>
>>>>>> You absolutely can and this is what makes TiddlyTables so powerful.
>>>>>> Basically, the elements of the table are all modular and are controlled
>>>>>> by
>>>>>> templates. I will go into detail about editing templates in my next
>>>>>> post,
>>>>>> but the template that controls the body of the title column
>>>>>> is: $:/plugins/aaldrich/tables/template/body/title.
>>>>>>
>>>>>>
>>>>>> I note you can place any table in the sidebar with
>>>>>> $:/tags/SideBar
>>>>>> but you need to set the tiddler
>>>>>> eg
>>>>>> <$tiddler tiddler="Has Changed">
>>>>>> <<table>>
>>>>>> </$tiddler>
>>>>>>
>>>>>> Let me explain what is happening here. A TiddlyTable gets its
>>>>>> parameters from the fields that are created when the table is created.
>>>>>> Essentially, a table requires its own tiddler to store these fields. We
>>>>>> can
>>>>>> call them "table tiddlers". Notice when you click the table button a new
>>>>>> tiddler is created and it contains the default table. If you edit this
>>>>>> tiddler you will see its text is just <<table>> and it has 29 fields
>>>>>> that
>>>>>> serve as its parameters. When you set TiddlerA's text to use the tiddler
>>>>>> widget like you show here, what you are really asking is for
>>>>>> TiddlyTables
>>>>>> to store these 29 parameters to a Tiddler called "Has Changed" but
>>>>>> render
>>>>>> in TiddlerA. The same effect can be achieved using transclusion, and in
>>>>>> the
>>>>>> case of using "$:/tags/SideBar" the table MUST be transcluded or it
>>>>>> will not find the parameters its looking for. This is a limitation of
>>>>>> the
>>>>>> "non-standard" implementation of macros I am using, and I mention it in
>>>>>> Known Issues/Limitations. My next post will have a link in it that
>>>>>> describes this further.
>>>>>>
>>>>>> These are great questions, keep them coming!
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tuesday, September 17, 2019 at 1:44:19 AM UTC-5, TonyM wrote:
>>>>>>>
>>>>>>> For fun whilst learning more on TiddlyTables
>>>>>>>
>>>>>>>
>>>>>>> - SImply put it is a new way of looking at any filter
>>>>>>> - A Table of tables filter `[contains:text[<<table>>]]` I did
>>>>>>> not expect that to work give the special meaning of < and >
>>>>>>> - Are tables totally self contained? Looks like it, The
>>>>>>> advantage is TiddlyTables plus a bunch of tables to access various
>>>>>>> system
>>>>>>> information would be very helpful
>>>>>>> - I am not sure if I can change the template for the title
>>>>>>> column for a specific table?
>>>>>>>
>>>>>>> I note you can place any table in the sidebar with $:/tags/SideBar
>>>>>>> but you need to set the tiddler
>>>>>>> eg
>>>>>>> <$tiddler tiddler="Has Changed">
>>>>>>> <<table>>
>>>>>>> </$tiddler>
>>>>>>>
>>>>>>> I will keep exploring this.
>>>>>>>
>>>>>>> I would like to see a one button create table from filter.
>>>>>>>
>>>>>>> Tony
>>>>>>>
>>>>>>> On Tuesday, September 17, 2019 at 3:53:36 PM UTC+10, TonyM wrote:
>>>>>>>>
>>>>>>>> Alan,
>>>>>>>>
>>>>>>>> Thanks, I am just exploring the possibilities of tiddlytables.
>>>>>>>> Since the minimum one needs is a filter it is a great way to simply
>>>>>>>> list
>>>>>>>> tiddlers of any type. But then a custom table with custom fields can
>>>>>>>> expose
>>>>>>>> other details.
>>>>>>>>
>>>>>>>>
>>>>>>>> I also appreciate the drop down on the *Query Records* (tbl-filter)
>>>>>>>> - filter syntax
>>>>>>>> Quite a few people have being asking for help for writing filters
>>>>>>>> and you have already done it.
>>>>>>>>
>>>>>>>> It would be great in an editor toolbar button as well.
>>>>>>>>
>>>>>>>> A simple example is
>>>>>>>> [all[shadows]prefix[$:/info]!prefix[$:/info/browser]] [[$:/info/
>>>>>>>> browser/name]]
>>>>>>>>
>>>>>>>> and show the text field.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> Tony
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tuesday, September 17, 2019 at 2:58:04 PM UTC+10, Alan Aldrich
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> I have uploaded a new version of TiddlyTables that includes a
>>>>>>>>> confirmation when deleting. Thank you for your excellent comments and
>>>>>>>>> feedback.
>>>>>>>>>
>>>>>>>>> http://tiddlytables.tiddlyspot.com/
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Alan
>>>>>>>>>
>>>>>>>>> On Tuesday, September 10, 2019 at 6:17:44 PM UTC-5, Diego Mesa
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Hey Alan,
>>>>>>>>>>
>>>>>>>>>> I see that your plugin uses the ActionDeleteTiddlerWidget:
>>>>>>>>>>
>>>>>>>>>> https://tiddlywiki.com/#ActionDeleteTiddlerWidget
>>>>>>>>>>
>>>>>>>>>> According to the docs:
>>>>>>>>>>
>>>>>>>>>> There are several differences compared to the WidgetMessage:
>>>>>>>>>>> tm-delete-tiddler
>>>>>>>>>>> <https://tiddlywiki.com/#WidgetMessage%3A%20tm-delete-tiddler>:
>>>>>>>>>>>
>>>>>>>>>>> - *The user is not prompted to confirm the deletion*
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> - No automatic updating of the story list
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> - No special handling of draft tiddlers
>>>>>>>>>>>
>>>>>>>>>>> I think switching deletion to the tm-delete-tiddler message
>>>>>>>>>> would handle the confirmation.
>>>>>>>>>>
>>>>>>>>>> Best,
>>>>>>>>>> Diego
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tuesday, September 10, 2019 at 11:02:47 AM UTC-5, Alan Aldrich
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> I agree the delete column should have a confirmation. I will try
>>>>>>>>>>> to get that in the next version. Do you know of a simple and
>>>>>>>>>>> standard way
>>>>>>>>>>> to accomplish this?
>>>>>>>>>>
>>>>>>>>>>
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/4fa3f66e-6908-4ba5-9195-3e48a7c18883%40googlegroups.com.