New pages

From MDrivenWiki
New pages
Hide registered users | Show bots | Show redirects
  • 09:18, 19 September 2024Blazor IComponentTypeSwitchBroker (hist | edit) ‎[763 bytes]Hans Karlsen (talk | contribs) (Created page with "In Blazor one can inject unique components as described here EXT_ComponentsBlazor But you can also replace All or Some components based on a Switch-logic you define yourself public interface IComponentTypeSwitchBroker {    Type SwitchThis(IMDCompHolder compholder,Type theType); } The assembly and type that implements this interface is then given in the Documentation:SysMDrivenMiscSettingsSingleton property GlobalBlazorCl...") Tag: Visual edit
  • 00:49, 11 September 2024Documentation:OCLOperators Download (hist | edit) ‎[613 bytes]Charles Olet (talk | contribs) (Created page with "Triggers a download of arbitrary byte array to a client under a file name and file type. The method is available within the context of ViewModel. ==== OCL Expression ==== <syntaxhighlight> selfVM.Download(<file name>, <file data>) </syntaxhighlight>'''Arguments''' <code>file name:</code> '''String''' Name to be assigned to the download file including the file extension. For example, for open document text document. add '''<nowiki/>'.odt'''' in the file name. <code>f...") Tag: Visual edit originally created as "OCLOperators Download"
  • 09:05, 30 August 2024Cell level ReadOnly (hist | edit) ‎[1,736 bytes]Hans Karlsen (talk | contribs) (Created page with "All viewModelColumns check for a sibling column with the same name <Name> postfixed with _ReadOnly If this <Name>_ReadOnly column is found its expression should evaluate to bool and will be used as the ReadOnly status for the column <Name> instead the <Name>-columns own ReadOnlyExpression. ==== Why is this needed? ==== The columns owned ReadOnlyExpression is cursored - meaning it uses the context of the root in the viewmodel and it has the same value through out the V...") Tag: Visual edit originally created as "Cell lever ReadOnly"
  • 20:01, 29 August 2024MDriven skolan 2024 svenska (hist | edit) ‎[801 bytes]Hans Karlsen (talk | contribs) (Created page with "Spring 2024 we had a series of 6 sessions for the swedish consult network Kvadrat KVADRATUNIVERSITETET MDriven skolan del 1 – Kundnytta och hur MDriven gör dig framgångsrik 20240124 https://youtu.be/AYID9PdsuN8 KVADRATUNIVERSITETET MDriven skolan del 2 – Databas i modelldriven miljö 20240216 https://youtu.be/BzU7McGIQB8 KVADRATUNIVERSITETET MDriven skolan del 3 AI i praktiken 20240312 https://youtu.be/EcSOqpSPEDI KVADRATUNIVERSITETET MDriven sko...") Tag: Visual edit
  • 02:31, 16 August 2024OCLOperators JsonGetProp (hist | edit) ‎[523 bytes]Charles Olet (talk | contribs) (Created page with "The JsonGetProp operator is for JSON strings and returns the value of a JSON property as a string. Null is returned if the property is not available. The JsonGetProp operator can be chained to get a nested JSON value. ==== Example: 1 ==== '{name: "Sam"}'.JsonGetProp('name') Returns 'Samuel' ==== Example: 2 ==== <nowiki>'{person: {name: "Same", age: 25}}'.JsonGetProp('person').JsonGetProp('age')</nowiki> Returns 25") Tag: Visual edit
  • 02:04, 16 August 2024OCLOperators whenfalse (hist | edit) ‎[550 bytes]Charles Olet (talk | contribs) (Created page with "The '''whenfalse''' OCL operator is the opposite of the whentrue operator. It is used to specify an expression to be run when the boolean argument expression is false. It can be used to chain boolean expressions. ==== Example ==== let x=SomeObject.SomeEnum in (   (x=#Enum1).whenfalse(SomeObject.DoYourThing1);   (x=#Enum2).whenfalse(SomeObject.DoYourThing2);   (x=#Enum3).whenfalse(SomeObject.DoYourThing3) )") Tag: Visual edit
  • 01:16, 16 August 2024OCLOperators tryParse (hist | edit) ‎[2,744 bytes]Charles Olet (talk | contribs) (Created page with "The tryParse operator converts a string representation of a date and time to its DateTime equivalent and returns null if the string is not valid date and or time. The string to be parsed can be in any of the following forms, * A string with a date and a time component. * A string with a date but no time component. If the time component is absent, the method assumes 12:00 midnight. If the date component has a two-digit year, it is converted to a year based on the Calen...") Tag: Visual edit
  • 15:26, 15 August 2024How To Create a Dotnet MDriven Project (hist | edit) ‎[2,034 bytes]Charles Olet (talk | contribs) (Created page with ".NET projects are cross-platform, offering access to modern development practices and services across different environments. MDriven provides flexibility by supporting .NET applications, enabling access to features like CodeDress for enhancing your application with C# code and integrating third party services not available in standard MDriven applications. Create a .NET project targeting .Net 6 and above. Install [https://www.nuget.org/packages/MDriven.MVC.Core MDriv...") Tag: Visual edit
  • 20:04, 14 July 2024Documentation:Database evolve (hist | edit) ‎[474 bytes]Lars Olofsson (talk | contribs) (Created page with "Evolving the database is the process in which the MDriven server or designer changes to database to match the model, as it is now. This change will not be evolved.") Tag: Visual edit originally created as "Database evolve"
  • 11:23, 14 July 2024Documentation:Attribute or Data Type Conversion (hist | edit) ‎[4,801 bytes]Charles Olet (talk | contribs) (Created page with "Evolving from one data type to another is not automatically due to the side effects of conversions. Mdriven provides different options for converting data types, # Using FormerNames property setting. # Using a method. # Using derived attributes (Recommended). # Using SafeCast. === Important to know before performing a conversion === * Data conversions have to be done meticulously that as they can result in data loss. Backup your database before performing any conver...") Tag: Visual edit originally created as "Attribute or Data Type Conversion"
  • 08:59, 14 July 2024Using Google Charts (hist | edit) ‎[6,436 bytes]Charles Olet (talk | contribs) (Created page with "== Using Google Charts == 1. Within assets folder for the model, create components for the charts with the structure below /EXT_Components /PerformanceChart - PerformanceChart_module.js - javascript module for Performance chart component to loaded by streaming application. - PerformanceChart.cshtml - view presentation for Performance chart component. /PieChart - PieChart_module.js - PieChart.cshtml /EXT_Scripts - AppWideAngularScriptIncludes.html - javascripts...") Tag: Visual edit
  • 12:51, 9 July 2024Documentation:Attribute with class type (hist | edit) ‎[328 bytes]Lars Olofsson (talk | contribs) (Created page with "'''Why can't I create an attribute with with a Class type?''' Because having an attribute with a class type is an object reference, i.e. pointing from one object to another - which is a association. Therefore it's by design forbidden. '''Note:''' Everyone asks this question during their work with modelling, at some point.") Tag: Visual edit originally created as "Attribute with class type"
  • 09:12, 13 June 2024Opt out a constraint in all relevant viewmodel (hist | edit) ‎[414 bytes]Lars Olofsson (talk | contribs) (Created page with "If you need to opt out a constraint in every viewmodel that mentions this constraint, you can use this EAL code. <syntaxhighlight> let constraint = Constraint.allInstances->select(c|c.Name = 'NameOfConstraint')->first in ( constraint.ConstrainedElement.Nesting.OwningSpan->forEach(span | span.OptOutConstraints.add(constraint)) ) </syntaxhighlight>") Tag: Visual edit
  • 05:41, 13 June 2024MDriven Designer Features & Settings (hist | edit) ‎[4,817 bytes]Stephanie Namugambe (talk | contribs) (Created page with "Buttons # File # Edit # Help Start! Play button Left arrow Right arrow Drag out new association mode Drag out new generalization mode Drag out new association class connection mode Diagram is shown in a reference window Zoom in Zoom out ViewModel Editor Turnkey Live-Editor StylesInModel Actions Editor Access Groups Editor Check model and report errors Enterprise Architect Information window CloudForm: Cloud connection - Portal.mdriven.net and MDrive...") Tag: Visual edit
  • 08:30, 4 June 2024Documentation:SysDocBatch (hist | edit) ‎[2,540 bytes]Hans Karlsen (talk | contribs) (Created page with "SysDocBatch is a model pattern recognized by TurnkeyServer and MDrivenServer. The problem it solves are document collections. Normally when you generate a report it will directly download as a odt or ods format file. If a SysSingleton.oclSingleton.CurrentSysDocBatch is found we now instead add a SysDoc to the SysSingleton.oclSingleton.CurrentSysDocBatch.SysDocs association. And on the first added SysDoc we will show the SysDocBatchView viewmodel (rooted in SysDocBat...") Tag: Visual edit originally created as "SysDocBatch"
  • 16:42, 3 June 2024Documentation:Adding Buttons in Nested ViewModels (hist | edit) ‎[1,849 bytes]Charles Olet (talk | contribs) (Created page with "== Buttons in Nested View Models == There are two ways to create buttons in a nested ViewModel; * Using class actions (recommended) * Using ViewModel actions Using Class Action Add action column in ViewModel. Go to ViewModel Actions and click Class Action to create New Class Action. DoubleClick on the created Class Action to open actions editor menu where you can edit class action name and execute expression for action. Go to the ViewModel and click on the new ac...") Tag: Visual edit originally created as "SamplePageForButtonsInNestedViewModel"
  • 12:11, 3 June 2024Pattern supported methods (hist | edit) ‎[3,052 bytes]Hans Karlsen (talk | contribs) (Created page with "Certain modelpatterns has methods with built in support in the servers. The llist of all supported classes and methods is maintained here: if (classifier.Name == "ZXing") { if (method.Name == "QRImage") else if (method.Name == "BarcodeImage") } else if (classifier.Name == "SysUser") { if (method.Name == "HashPassword") else if (method.Name == "VerifyHashedPassword") else if (method.Name ==...") Tag: Visual edit
  • 10:08, 3 June 2024Documentation:Use LibreOffice for PDF conversion (hist | edit) ‎[1,482 bytes]Hans Karlsen (talk | contribs) (Created page with "LibreOffice is a separate product and comes with its own license. One can use it to convert from odt (output from mdriven report) to docx and pdf, and also from ods(output from mdriven report) to xlsx and pdr. Requires install of LibreOffice on server running Turnkey. I suggest to uncheck Online Update etc - your server may be locked down for access to the internet and trying to auto update will cause erratic behavior. File:Use LibreOffice for PDF conversion 171740...") Tag: Visual edit originally created as "Use LibreOffice for PDF conversion"
  • 15:41, 28 May 2024ViewModel settings (hist | edit) ‎[803 bytes]Lars Olofsson (talk | contribs) (Created page with "=== Settings of the ViewModel === ==== Column and row settings ==== ===== Column and row count ===== When in Grid mode, sets the number of columns and rows of the view ===== Column width and Row Height ===== Sets the column width and row height in the designer and as a default minimum size in the running application. Can be overridden by using CSS in a web application. '''Note:''' Setting the ViewModel's column width or row height of <= 1 signals that no min-height/...") Tag: Visual edit
  • 11:19, 28 May 2024SamplePage (hist | edit) ‎[61 bytes]Charles Olet (talk | contribs) (Created page with "My Trial Page") Tag: Visual edit
  • 10:27, 23 May 2024Documentation:Mounted ViewModel (hist | edit) ‎[859 bytes]Lars Olofsson (talk | contribs) (Created page with "You can insert a ViewModel within another viewmodel at any point where the column in the ViewModel is an object and there's no associated viewmodel class.") Tag: Visual edit originally created as "Mounted ViewModel"
  • 02:47, 22 May 2024User:Martin/Sandbox (hist | edit) ‎[151 bytes]Martin Turyagenda (talk | contribs) (sandbox testing thumbnail number one) Tag: Visual edit originally created as "Sandbox"
  • 07:30, 21 May 2024Await async (hist | edit) ‎[618 bytes]Hans Karlsen (talk | contribs) (Created page with "In c# you have the async await pattern sections your code on compiler level and chuncks it up in the dispatcher queue in order to avoid user input blocking/freezing. Depending on what you want to do: * Just adapt to an existing api that uses async?: Call it as a normal function and append with GetResult() * Avoid UI blocking in Turnkey? In Turnkey this does not apply since UI interaction is in browser * Avoid UI blocking in MDriven generic code? /wiki.mdriven.net/Tra...") Tag: Visual edit