https://wiki.mdriven.net/api.php?action=feedcontributions&user=Alexandra&feedformat=atomMDrivenWiki - User contributions [en]2024-03-29T15:01:17ZUser contributionsMediaWiki 1.39.4https://wiki.mdriven.net/index.php?title=Main_Page&diff=17782Main Page2024-03-26T15:47:03Z<p>Alexandra: </p>
<hr />
<div><html><br />
<style><br />
#flexContainer >*:first-child {<br />
display: none;<br />
}<br />
<br />
#mainContent {<br />
padding: 0px !important;<br />
max-width: unset !important;<br />
}<br />
<br />
.mw-parser-output > *:first-child {<br />
display: none;<br />
}<br />
<br />
<br />
@media (max-width: 767px) {<br />
.content {<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
cursor: pointer;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative;"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: 3%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 430px; padding-right: 8em;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
</html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
<html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=17781Main Page2024-03-26T15:46:29Z<p>Alexandra: *</p>
<hr />
<div><html><br />
<style><br />
#flexContainer >*:first-child {<br />
display: none;<br />
}<br />
<br />
#mainContent {<br />
padding: 0px !important;<br />
max-width: unset !important;<br />
}<br />
<br />
.mw-parser-output > *:first-child {<br />
display: none;<br />
}<br />
<br />
<br />
@media (max-width: 767px) {<br />
.content {<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
cursor: pointer;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative;"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: -0%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 500px; padding-right: 8em; padding-bottom:30px;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
</html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
<html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=17780Main Page2024-03-26T15:44:13Z<p>Alexandra: </p>
<hr />
<div><html><br />
<style><br />
#flexContainer >*:first-child {<br />
display: none;<br />
}<br />
<br />
#mainContent {<br />
padding: 0px;<br />
max-width: unset;<br />
}<br />
@media (max-width: 767px) {<br />
.content {<br />
padding: 2em 1em;<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative;"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: -0%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 500px; padding-right: 8em; padding-bottom:30px;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
</html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
<html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=17779Main Page2024-03-26T15:41:42Z<p>Alexandra: </p>
<hr />
<div><html><br />
<style><br />
#flexContainer >*:first-child {<br />
display: none;<br />
}<br />
@media (max-width: 767px) {<br />
.content {<br />
padding: 2em 1em;<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative;"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: -0%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 500px; padding-right: 8em; padding-bottom:30px;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
</html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
<html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=17778Main Page2024-03-26T15:41:19Z<p>Alexandra: *</p>
<hr />
<div><html><br />
<style><br />
#flexContainer >*:first-child {<br />
display: none;<br />
}<br />
@media (max-width: 767px) {<br />
.content {<br />
padding: 2em 1em;<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative;"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: -0%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 500px; padding-right: 8em; padding-bottom:30px;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
<html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
</html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=17777Main Page2024-03-26T15:14:57Z<p>Alexandra: *</p>
<hr />
<div><html><br />
<style><br />
@media (max-width: 767px) {<br />
.content {<br />
padding: 2em 1em;<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative;"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: -0%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 500px; padding-right: 8em; padding-bottom:30px;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
</html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
<html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=17775Main Page2024-03-26T14:57:15Z<p>Alexandra: Undo revision 17744 by Alexandra (talk)</p>
<hr />
<div><html><br />
<style><br />
@media (max-width: 767px) {<br />
.content {<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative; width:100%"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: 3%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 500px; padding-right: 8em; padding-bottom:30px;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
</html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
<html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=17774Main Page2024-03-26T14:56:34Z<p>Alexandra: Undo revision 17706 by Alexandra (talk)</p>
<hr />
<div><html><br />
<style><br />
@media (max-width: 767px) {<br />
.content {<br />
<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative; width:100%"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: 3%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 500px; padding-right: 8em; padding-bottom:30px;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
</html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
<html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=ReleaseNotes:ReleaseNotes&diff=17746ReleaseNotes:ReleaseNotes2024-03-26T13:56:20Z<p>Alexandra: </p>
<hr />
<div>__NOTOC__<br />
<html><br />
<style><br />
#contentContainer.show-nav-menu #bodyContent {<br />
padding: 0px;<br />
}<br />
@media (max-width: 767px) {<br />
.content {<br />
padding: 2em 1em;<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
img {<br />
max-width: 100%;<br />
height: auto;<br />
}<br />
}<br />
<br />
.release-notes {<br />
padding:5em;<br />
}<br />
<br />
@media (max-width: 768px) {<br />
.changelog-container {<br />
flex-direction: column;<br />
align-items: center;<br />
}<br />
}<br />
<br />
.changelog-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
}<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(94deg, #E2F5FA 0%, #F7FAFC 49%, #FFDABB 100%);"><br />
<div class="content" style="padding: 5em; width: auto; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div style="color: #44546F;">Release Notes</div><br />
<div class="heading" style="color: #112B3C; font-size: 2.25em; font-weight: 700; text-transform: uppercase;"><br />
Release notes</div><br />
<div style="max-width: 100%;"><span style="color: black; font-size: 16px; font-weight: 400; word-wrap: break-word"><br />
All the latest MDriven Fixes and Updates <br/></span></div><br />
</div><br />
</div><br />
<div class="release-notes"><br />
</html><br />
<br />
===MDriven - March 2024 === <br />
====Improved User Interface====<br />
<br />
*Enhanced selection behavior in the View Model Editor to function even when action errors are present.<br />
*Introduced a "Hide on Disable" option for actions, allowing for actions to be completely hidden from end-user when so desired.<br />
*Error messages during OCL execution now pinpoint the specific method causing the issue.<br />
<br />
====Multi-Select Functionality====<br />
*Implemented multi-select functionality in web UI tables, improving workflow efficiency.<br />
*Improved Model Upload <br />
**Resolved an issue where model uploads caused the application to become unresponsive. Uploads now run asynchronously.<br />
====Data Handling====<br />
<br />
*Introduced a new ''vCurrent_Root'' variable for simpler access to the root element from any location within the view model. This streamlines copying and pasting view models while maintaining functional expressions.<br />
*Enhanced context sensitivity during OCL editing, providing more relevant suggestions based on the current context.<br />
<br />
====Database Consistency====<br />
*Introduced a new ''validateA0DbData'' function for the MDriven server to identify and potentially fix inconsistencies within the database.<br />
*Debugger Improvements <br />
**Resolved an issue where the debugger lost the implicit selfVM variable upon model reread.<br />
====Error Handling====<br />
<br />
*Improved error message clarity for type mismatches, providing more informative warnings.<br />
*Enhanced error handling for OCL expressions with mismatched data types, now displaying red dots to indicate errors within the model.<br />
<br />
====User Interface====<br />
*Fixed a bug where left menu actions appeared as permanently selected or executable.<br />
*Addressed a navigation issue within pop-ups where the root object wasn't passed correctly.<br />
====Reverse Engineering Databases====<br />
<br />
*Improved functionality for reverse engineering, particularly for Postgres databases.<br />
*Addressed general improvements to the reverse engineering process.<br />
<br />
====Access Groups====<br />
*Access Group Permissions<br />
*Resolved access group permission issues related to global actions.<br />
====Improved Handling of Division by Zero ====<br />
<br />
*Errors caused by division by zero are now handled more gracefully. Instead of crashing the application, the result will be set to the maximum decimal value.<br />
<br />
====Advanced Tables Feature====<br />
*Introduced a new "Advanced Tables" turnkey feature. This feature can be enabled globally or for specific tables via tag values.<br />
*Enabling Advanced Tables provides functionalities like resizing columns, sorting data, and other advanced table manipulation capabilities.<br />
====Additional Notes ====<br />
<br />
*NavigateURL Overload: A new overload has been introduced for the selfVM navigate URL function. This allows you to specify whether you want to open the URL in a new tab or the current tab.<br />
*Read-Only Mode Information: Refer to other resources for detailed information on the read-only mode.<br />
*Improved Server Stability: Mitigated server restarts caused by errors in server-side jobs using the SQL pass-through operator.<br />
*Enhanced Cache Invalidation: Fixed a bug where mounting view models within other view models didn't trigger proper cache invalidation, potentially leading to outdated data.<br />
*MDriven Visual Studio Plugin - Improved Performance: Resolved an issue where code generation within the Visual Studio plugin caused the UI to temporarily freeze, especially for large models.<br />
*Limited Data Fetching in OCL Expressions: Introduced a new feature to limit data fetching within OCL expressions, actions, and persistent storage execution. This helps prevent accidental retrieval of massive amounts of data that could overwhelm the system.<br />
<br />
====Improved Performance====<br />
*Introduced a new setting named "SSServiceSideJobParallelism" for periodic actions. This allows you to configure the number of parallel workers used to execute these actions on the MDriven server. This functionality helps optimize performance by controlling the number of jobs running concurrently.<br />
====Improved User Interface====<br />
<br />
*Fixed a bug where left menu actions displayed incorrectly.<br />
*Addressed an issue where global actions and access groups interacted poorly.<br />
*Enhanced Error Handling <br />
**Introduced improved error messages for report generation failures.<br />
<br />
====Additional Notes:====<br />
The new "Merge Model" functionality for OpenAI integration requires downloading additional components from GitHub. Refer to the MDriven documentation for detailed instructions.<html><br />
<br />
<div class="changelog-container" style="display: flex; justify-content: space-around; align-items: center;"> <br />
</html> <br />
{{#widget:Changelog|link=/index.php/ReleaseNotes:Changelog-Framework|linktext=Changelog-Framework}}<br />
<br />
{{#widget:Changelog|link=/index.php/ReleaseNotes:Changelog-Turnkey|linktext=Changelog-Turnkey}}<br />
<br />
{{#widget:Changelog|link=/index.php/ReleaseNotes:Changelog-Server|linktext=Changelog-Server}}<br />
<br />
{{#widget:Changelog|link=/index.php/ReleaseNotes:Changelog-Designer|linktext=Changelog-Designer}}<br />
<br />
<html><br />
</div> </div><br />
</html></div>Alexandrahttps://wiki.mdriven.net/index.php?title=ReleaseNotes:ReleaseNotes&diff=17745ReleaseNotes:ReleaseNotes2024-03-26T13:55:05Z<p>Alexandra: </p>
<hr />
<div>__NOTOC__<br />
<html><br />
<style><br />
#contentContainer.show-nav-menu #bodyContent {<br />
padding: 0px;<br />
}<br />
@media (max-width: 767px) {<br />
.content {<br />
padding: 2em 1em;<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
img {<br />
max-width: 100%;<br />
height: auto;<br />
}<br />
}<br />
<br />
.release-notes {<br />
padding:5em;<br />
}<br />
<br />
@media (max-width: 768px) {<br />
.changelog-container {<br />
flex-direction: column;<br />
align-items: center;<br />
}<br />
}<br />
<br />
.changelog-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
}<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(94deg, #E2F5FA 0%, #F7FAFC 49%, #FFDABB 100%);"><br />
<div class="content" style="padding: 5em; width: auto; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div style="color: #44546F;">Release Notes</div><br />
<div class="heading" style="color: #112B3C; font-size: 2.25em; font-weight: 700; text-transform: uppercase;"><br />
Release notes</div><br />
<div style="max-width: 100%;"><span style="color: black; font-size: 16px; font-weight: 700; word-wrap: break-word"><br />
All the latest MDriven Fixes and Updates <br/></span></div><br />
</div><br />
</div><br />
/* <div style="text-align: center; padding-top: 50px;"><br />
<span style="font-size: 2.25em; font-weight: bold;"><br />
MDriven: Release Notes</span><br />
</div> */<br />
<div class="release-notes"><br />
</html><br />
<br />
=== MDriven - March 2024 === <br />
====Improved User Interface====<br />
<br />
* Enhanced selection behavior in the View Model Editor to function even when action errors are present.<br />
* Introduced a "Hide on Disable" option for actions, allowing for actions to be completely hidden from end-user when so desired.<br />
* Error messages during OCL execution now pinpoint the specific method causing the issue.<br />
<br />
====Multi-Select Functionality====<br />
* Implemented multi-select functionality in web UI tables, improving workflow efficiency.<br />
* Improved Model Upload <br />
** Resolved an issue where model uploads caused the application to become unresponsive. Uploads now run asynchronously.<br />
====Data Handling====<br />
<br />
* Introduced a new ''vCurrent_Root'' variable for simpler access to the root element from any location within the view model. This streamlines copying and pasting view models while maintaining functional expressions.<br />
* Enhanced context sensitivity during OCL editing, providing more relevant suggestions based on the current context. <br />
<br />
====Database Consistency====<br />
* Introduced a new ''validateA0DbData'' function for the MDriven server to identify and potentially fix inconsistencies within the database.<br />
* Debugger Improvements <br />
** Resolved an issue where the debugger lost the implicit selfVM variable upon model reread.<br />
====Error Handling====<br />
<br />
* Improved error message clarity for type mismatches, providing more informative warnings.<br />
* Enhanced error handling for OCL expressions with mismatched data types, now displaying red dots to indicate errors within the model.<br />
<br />
====User Interface====<br />
* Fixed a bug where left menu actions appeared as permanently selected or executable.<br />
* Addressed a navigation issue within pop-ups where the root object wasn't passed correctly.<br />
====Reverse Engineering Databases====<br />
<br />
* Improved functionality for reverse engineering, particularly for Postgres databases.<br />
* Addressed general improvements to the reverse engineering process.<br />
<br />
====Access Groups====<br />
* Access Group Permissions<br />
* Resolved access group permission issues related to global actions.<br />
====Improved Handling of Division by Zero ====<br />
<br />
* Errors caused by division by zero are now handled more gracefully. Instead of crashing the application, the result will be set to the maximum decimal value.<br />
<br />
====Advanced Tables Feature====<br />
* Introduced a new "Advanced Tables" turnkey feature. This feature can be enabled globally or for specific tables via tag values.<br />
* Enabling Advanced Tables provides functionalities like resizing columns, sorting data, and other advanced table manipulation capabilities.<br />
====Additional Notes====<br />
<br />
* NavigateURL Overload: A new overload has been introduced for the selfVM navigate URL function. This allows you to specify whether you want to open the URL in a new tab or the current tab.<br />
* Read-Only Mode Information: Refer to other resources for detailed information on the read-only mode. <br />
* Improved Server Stability: Mitigated server restarts caused by errors in server-side jobs using the SQL pass-through operator. <br />
* Enhanced Cache Invalidation: Fixed a bug where mounting view models within other view models didn't trigger proper cache invalidation, potentially leading to outdated data. <br />
* MDriven Visual Studio Plugin - Improved Performance: Resolved an issue where code generation within the Visual Studio plugin caused the UI to temporarily freeze, especially for large models. <br />
* Limited Data Fetching in OCL Expressions: Introduced a new feature to limit data fetching within OCL expressions, actions, and persistent storage execution. This helps prevent accidental retrieval of massive amounts of data that could overwhelm the system.<br />
<br />
====Improved Performance====<br />
* Introduced a new setting named "SSServiceSideJobParallelism" for periodic actions. This allows you to configure the number of parallel workers used to execute these actions on the MDriven server. This functionality helps optimize performance by controlling the number of jobs running concurrently. <br />
====Improved User Interface====<br />
<br />
* Fixed a bug where left menu actions displayed incorrectly. <br />
* Addressed an issue where global actions and access groups interacted poorly. <br />
* Enhanced Error Handling <br />
** Introduced improved error messages for report generation failures.<br />
<br />
====Additional Notes: ====<br />
The new "Merge Model" functionality for OpenAI integration requires downloading additional components from GitHub. Refer to the MDriven documentation for detailed instructions.<html><br />
<br />
<div class="changelog-container" style="display: flex; justify-content: space-around; align-items: center;"> <br />
</html> <br />
{{#widget:Changelog|link=/index.php/ReleaseNotes:Changelog-Framework|linktext=Changelog-Framework}}<br />
<br />
{{#widget:Changelog|link=/index.php/ReleaseNotes:Changelog-Turnkey|linktext=Changelog-Turnkey}}<br />
<br />
{{#widget:Changelog|link=/index.php/ReleaseNotes:Changelog-Server|linktext=Changelog-Server}}<br />
<br />
{{#widget:Changelog|link=/index.php/ReleaseNotes:Changelog-Designer|linktext=Changelog-Designer}}<br />
<br />
<html><br />
</div> </div><br />
</html></div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=17744Main Page2024-03-26T13:50:07Z<p>Alexandra: </p>
<hr />
<div><html><br />
<style><br />
@media (max-width: 767px) {<br />
.content {<br />
<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
cursor: pointer;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative; width:100%"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: 3%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 430px; padding-right: 8em;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
</html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
<br />
<html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=17706Main Page2024-03-26T13:41:30Z<p>Alexandra: </p>
<hr />
<div><html><br />
<style><br />
@media (max-width: 767px) {<br />
.content {<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
cursor: pointer;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative; width:100%"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: 3%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 430px; padding-right: 8em;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
</html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
<br />
<html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=17696Main Page2024-03-26T13:20:35Z<p>Alexandra: Header style adjustments</p>
<hr />
<div><html><br />
<style><br />
@media (max-width: 767px) {<br />
.content {<br />
max-width: none;<br />
}<br />
.heading {<br />
font-size: 1.5em;<br />
}<br />
.sub-heading {<br />
font-size: 1em;<br />
}<br />
.description {<br />
font-size: 0.875em;<br />
}<br />
.input-container {<br />
max-width: none;<br />
height: auto;<br />
}<br />
.search-icon {<br />
margin-left: 1em;<br />
}<br />
.search-input {<br />
padding-left: 1em;<br />
padding-right: 1em;<br />
}<br />
.image-container {<br />
display: none; <br />
}<br />
}<br />
@media screen and (max-width: 1100px) {<br />
.image-container {<br />
display: none;<br />
}<br />
}<br />
<br />
.mainpage-card:hover {<br />
transform: translateY(-5px);<br />
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);<br />
}<br />
<br />
<br />
<br />
<br />
<br />
</style><br />
<br />
<div style="background: linear-gradient(93deg, #E2F5FA 14.35%, #F7FAFC 56.13%, #FCFBFA 97.91%); display: flex; justify-content: space-between; align-items: center; position: relative; width:100%"><br />
<div class="content" style="padding: 5em; max-width: 589px; width: 100%; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;"><br />
<div class="heading" style="color: #182933; font-size: 2.25em; font-weight: 700; text-transform: uppercase; word-wrap: break-word;">MDriven Learn</div><br />
<div class="sub-heading" style="color: #182933; font-size: 1.25em; font-weight: 500; letter-spacing: 0.40px; word-wrap: break-word;">Learn. Model. Build.</div><br />
<div class="description" style="color: black; font-size: 1em; font-weight: 400; word-wrap: break-word;">Visualize and design your ideas. Discover more with MDriven documentation, hands-on training, and ready-made models to get the most from MDriven's tools and services.</div><br />
<div class="input-container" style="width: 100%; height: 2.25em; position: relative; display: flex; align-items: center; background: white; border-radius: 4px; border: 1px #E3E8EE solid;"><br />
<div class="search-icon" style="margin-left: 10px;"><br />
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><br />
<path d="M13 13L9 9L13 13ZM10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z" stroke="#999B9E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><br />
</svg><br />
</div><br />
<form id="bs-extendedsearch-box" class="form-inline " action="/index.php" method="GET" role="search" style="width:100%;"><br />
<input class="search-input" type="search" placeholder="Search MDriven Learn" style="flex-grow: 1; border: none; outline: none; padding-left: 10px;" name="raw_term" ><br />
<div id="suggestion-container"></div><br />
<input type="hidden" name="title" value="Special:SearchCenter"><br />
<input type="hidden" name="fulltext" value="1"><br />
</form><br />
</div><br />
</div><br />
<div class="image-container" style="flex-shrink: 0; position: absolute; right: 0; top: 3%; z-index: 1;"><br />
<img src="/images/mainpage.svg" alt="Image" style="max-width: 100%; height: 500px; padding-right: 8em; padding-bottom:30px;"><br />
</div><br />
</div><br />
</div><br />
<br />
<br />
<br />
<style><br />
@media (max-width: 767px) {<br />
.grid-container {<br />
grid-template-columns: 1fr !important;<br />
padding-left: 0 !important;<br />
padding-right: 0 !important;<br />
justify-items: center; /* This centers the items in the grid */<br />
}<br />
.card {<br />
margin: 0 auto !important; /* This centers the card and gives equal margins on both sides */<br />
}<br />
}<br />
</style><br />
<br />
<div style="display: grid; padding: 5em; grid-template-columns: repeat(3, 1fr); gap: 20px; grid-auto-rows: minmax(100px, auto);" class="grid-container"><br />
</html><br />
{{#widget:Card|heading=Documentation|display=block|imageIcon=/images/main2.svg|subheading=Find technical documentation|text=Gain understanding through in-depth explanations of the concepts behind the MDriven tools.|link=/index.php/Documentation:Documentation|linktext=Read Documentation}}<br />
{{#widget:Card|heading=Training|display=block|imageIcon=/images/main1.svg|subheading=Learn by doing|text=Practical training and tutorials on MDriven designed to educate and inspire you to model your ideas.|link=/index.php/Training:Training|linktext=Take Training}}<br />
{{#widget:Card|heading=Q&A|display=block|imageIcon=/images/main1.svg|subheading=Ask questions and get help|text=Write to us your MDriven-related questions and receive quality answers and feedback.|link=/index.php/Documentation:Q_and_A|linktext=Explore Q&A}}<br />
{{#widget:Card|heading=Model Examples|display=block|imageIcon=/images/main3.svg|subheading=Try model samples|text=Use our unique, pre-built models to build your ideas and achieve your goals.|link=/index.php/Documentation:Model_Examples|linktext=Browse samples}}<br />
{{#widget:Card|heading=Best Practices|display=block|imageIcon=/images/main4.svg|subheading=Explore effective solutions|text=Our suggestions on how you can maximize the benefits of the MDriven tools to realize business solutions.|link=/index.php/BestPractices:Best_Practices|linktext=Try these Best Practices}}<br />
<html><br />
</div><br />
</html><br />
{{Edited|July|12|2024}}<br />
{{Class|scroll}}</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=9946Main Page2023-05-09T09:17:55Z<p>Alexandra: *</p>
<hr />
<div><html><br />
<style><br />
#content-heading {<br />
display:none;<br />
}<br />
<br />
#breadcrumbs {<br />
display:none;<br />
}<br />
</style><br />
<br />
<div class="container"><br />
<div class="starter-kit--wrapper "> <br />
<div class="start"><br />
<p class="start__desc"> Don't know where to start?</p><br />
<a href="https:/index.php/Starter_Kit" class="btn-start--outline">Starter Kit</a><br />
</div><br />
</div><br />
<br />
<div class="departments-wrapper"><br />
<br />
<div class="departments"><br />
<a class="departments__header" href="/index.php/MDriven_KnowledgeBase">Knowledge Base</a><br />
<ul class="departments__list departments__list--base"><br />
<li><a href="/index.php/Main_concepts_definition"> Main concepts definition</a></li><br />
<li><a href="/index.php/Category:1000_Steps_Program">1000 steps to MDriven</a></li><br />
<li><a href="/index.php/Special:Categories">Categories</a></li><br />
</ul><br />
<a class="more-link" href="/index.php/MDriven_KnowledgeBase"> Learn more </a><br />
</div><br />
<br />
<div class="departments"><br />
<a class="departments__header" href="/index.php/Tutorials_(mostly_video_material)">Video Material</a><br />
<ul class="departments__list departments__list--video"><br />
<li><a href="/index.php/MDriven_Designer_Overview_Sessions">MDriven Designer Overview</a></li><br />
<li><a href="/index.php/MDriven_Turnkey_Sessions">MDriven Turnkey Overview</a></li><br />
<li><a href="/index.php/Learn_OCL">OCL</a></li><br />
</ul><br />
<a class="more-link" href="/index.php/Tutorials_(mostly_video_material)"> Learn more </a><br />
</div><br />
<br />
<br />
<div class="departments"><br />
<a class="departments__header" href="/index.php/Example_Gist">Sample Gist </a><br />
<ul class="departments__list departments__list--cases"><br />
<li><a href="/index.php/WPFMahappAndGantt"> WPFMahappAndGantt</a></li><br />
<li><a href="/index.php/A_Trello_like_Board_In_MDrivenTurnkey"> A Trello like Board </a></li><br />
<li><a href="/index.php/Rest_Services_In_MDriven">Rest Services </a></li><br />
</ul><br />
<a class="more-link" href="/index.php/Example_Gist"> Learn more </a><br />
</div><br />
<br />
<br />
<div class="departments"><br />
<a class="departments__header" href="https://www.capableobjects.com/"> Updates</a><br />
<ul class="departments__list departments__list--updates"><br />
<li><a href="https://blog.mdriven.net/">Recent MDriven Blog article</a></li><br />
<li><a href="https://wiki.mdriven.net/index.php/Functionality_changes">Recent MDriven Wiki articles</a></li><br />
</ul><br />
<a class="more-link" href="https://www.capableobjects.com/"> Learn more </a><br />
</div><br />
<br />
<br />
</div><br />
<div class="category_icons"><br />
<p class= "category_icons"> Also, browse the <a href="/index.php/Special:Categories ">Categories</a> to navigate to topics when you don't know the right keywords to successfully search. </p><br />
<ul class="category_icons_list"><br />
<li> <a id="Discovery" href="/index.php/Category:Discovery"> Discovery</a></li><br />
<li> <a id="Beginner" href="/index.php/Category:Beginner"> Beginner</a></li><br />
<li> <a id="Intermediate" href="/index.php/Category:Intermediate"> Intermediate </a></li><br />
<li> <a id="Advanced" href="/index.php/Category:Advanced">Advanced </a></li><br />
</ul><br />
</div><br />
</div><br />
<br />
<br />
</html><br />
[[Education:TheIndex]]</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=9945Main Page2023-05-09T09:11:46Z<p>Alexandra: *</p>
<hr />
<div><html><br />
<style><br />
#content-heading {<br />
display:none;<br />
}<br />
<br />
#breadcrumbs {<br />
display:none;<br />
}<br />
</style><br />
<br />
<div class="container"><br />
<div class="starter-kit--wrapper "> <br />
<div class="start"><br />
<p class="start__desc"> Don't know where to start?</p><br />
<a href="https:/index.php/Starter_Kit" class="btn-start--outline">Starter Kit</a><br />
</div><br />
</div><br />
<br />
<div class="departments-wrapper"><br />
<br />
<div class="departments"><br />
<a class="departments__header" href="/index.php/MDriven_KnowledgeBase">Knowledge Base</a><br />
<ul class="departments__list departments__list--base"><br />
<li><a href="/index.php/Main_concepts_definition"> Main concepts definition</a></li><br />
<li><a href="/index.php/The_1000_steps_program_to_MDriven_Chapter_1">1000 steps to MDriven</a></li><br />
<li><a href="/index.php/Special:Categories">Categories</a></li><br />
</ul><br />
<a class="more-link" href="/index.php/MDriven_KnowledgeBase"> Learn more </a><br />
</div><br />
<br />
<div class="departments"><br />
<a class="departments__header" href="/index.php/Tutorials_(mostly_video_material)">Video Material</a><br />
<ul class="departments__list departments__list--video"><br />
<li><a href="/index.php/MDriven_Designer_Overview_Sessions">MDriven Designer Overview</a></li><br />
<li><a href="/index.php/MDriven_Turnkey_Sessions">MDriven Turnkey Overview</a></li><br />
<li><a href="/index.php/Learn_OCL">OCL</a></li><br />
</ul><br />
<a class="more-link" href="/index.php/Tutorials_(mostly_video_material)"> Learn more </a><br />
</div><br />
<br />
<br />
<div class="departments"><br />
<a class="departments__header" href="/index.php/Example_Gist">Sample Gist </a><br />
<ul class="departments__list departments__list--cases"><br />
<li><a href="/index.php/WPFMahappAndGantt"> WPFMahappAndGantt</a></li><br />
<li><a href="/index.php/A_Trello_like_Board_In_MDrivenTurnkey"> A Trello like Board </a></li><br />
<li><a href="/index.php/Rest_Services_In_MDriven">Rest Services </a></li><br />
</ul><br />
<a class="more-link" href="/index.php/Example_Gist"> Learn more </a><br />
</div><br />
<br />
<br />
<div class="departments"><br />
<a class="departments__header" href="https://www.capableobjects.com/"> Updates</a><br />
<ul class="departments__list departments__list--updates"><br />
<li><a href="https://blog.mdriven.net/">Recent MDriven Blog article</a></li><br />
<li><a href="https://wiki.mdriven.net/index.php/Functionality_changes">Recent MDriven Wiki articles</a></li><br />
</ul><br />
<a class="more-link" href="https://www.capableobjects.com/"> Learn more </a><br />
</div><br />
<br />
<br />
</div><br />
<div class="category_icons"><br />
<p class= "category_icons"> Also, browse the <a href="/index.php/Special:Categories ">Categories</a> to navigate to topics when you don't know the right keywords to successfully search. </p><br />
<ul class="category_icons_list"><br />
<li> <a id="Discovery" href="/index.php/Category:Discovery"> Discovery</a></li><br />
<li> <a id="Beginner" href="/index.php/Category:Beginner"> Beginner</a></li><br />
<li> <a id="Intermediate" href="/index.php/Category:Intermediate"> Intermediate </a></li><br />
<li> <a id="Advanced" href="/index.php/Category:Advanced">Advanced </a></li><br />
</ul><br />
</div><br />
</div><br />
<br />
<br />
</html><br />
[[Education:TheIndex]]</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Main_Page&diff=9944Main Page2023-05-09T09:10:23Z<p>Alexandra: Link to 1000 step added</p>
<hr />
<div><html><br />
<style><br />
#content-heading {<br />
display:none;<br />
}<br />
<br />
#breadcrumbs {<br />
display:none;<br />
}<br />
</style><br />
<br />
<div class="container"><br />
<div class="starter-kit--wrapper "> <br />
<div class="start"><br />
<p class="start__desc"> Don't know where to start?</p><br />
<a href="https:/index.php/Starter_Kit" class="btn-start--outline">Starter Kit</a><br />
</div><br />
</div><br />
<br />
<div class="departments-wrapper"><br />
<br />
<div class="departments"><br />
<a class="departments__header" href="/index.php/MDriven_KnowledgeBase">Knowledge Base</a><br />
<ul class="departments__list departments__list--base"><br />
<li><a href="/index.php/Main_concepts_definition"> Main concepts definition</a></li><br />
<li><a href="/index.php/The_1000_steps_program_to_MDriven_Chapter_1">The 1000 steps program to MDriven</a></li><br />
<li><a href="/index.php/Special:Categories">Categories</a></li><br />
</ul><br />
<a class="more-link" href="/index.php/MDriven_KnowledgeBase"> Learn more </a><br />
</div><br />
<br />
<div class="departments"><br />
<a class="departments__header" href="/index.php/Tutorials_(mostly_video_material)">Video Material</a><br />
<ul class="departments__list departments__list--video"><br />
<li><a href="/index.php/MDriven_Designer_Overview_Sessions">MDriven Designer Overview</a></li><br />
<li><a href="/index.php/MDriven_Turnkey_Sessions">MDriven Turnkey Overview</a></li><br />
<li><a href="/index.php/Learn_OCL">OCL</a></li><br />
</ul><br />
<a class="more-link" href="/index.php/Tutorials_(mostly_video_material)"> Learn more </a><br />
</div><br />
<br />
<br />
<div class="departments"><br />
<a class="departments__header" href="/index.php/Example_Gist">Sample Gist </a><br />
<ul class="departments__list departments__list--cases"><br />
<li><a href="/index.php/WPFMahappAndGantt"> WPFMahappAndGantt</a></li><br />
<li><a href="/index.php/A_Trello_like_Board_In_MDrivenTurnkey"> A Trello like Board </a></li><br />
<li><a href="/index.php/Rest_Services_In_MDriven">Rest Services </a></li><br />
</ul><br />
<a class="more-link" href="/index.php/Example_Gist"> Learn more </a><br />
</div><br />
<br />
<br />
<div class="departments"><br />
<a class="departments__header" href="https://www.capableobjects.com/"> Updates</a><br />
<ul class="departments__list departments__list--updates"><br />
<li><a href="https://blog.mdriven.net/">Recent MDriven Blog article</a></li><br />
<li><a href="https://wiki.mdriven.net/index.php/Functionality_changes">Recent MDriven Wiki articles</a></li><br />
</ul><br />
<a class="more-link" href="https://www.capableobjects.com/"> Learn more </a><br />
</div><br />
<br />
<br />
</div><br />
<div class="category_icons"><br />
<p class= "category_icons"> Also, browse the <a href="/index.php/Special:Categories ">Categories</a> to navigate to topics when you don't know the right keywords to successfully search. </p><br />
<ul class="category_icons_list"><br />
<li> <a id="Discovery" href="/index.php/Category:Discovery"> Discovery</a></li><br />
<li> <a id="Beginner" href="/index.php/Category:Beginner"> Beginner</a></li><br />
<li> <a id="Intermediate" href="/index.php/Category:Intermediate"> Intermediate </a></li><br />
<li> <a id="Advanced" href="/index.php/Category:Advanced">Advanced </a></li><br />
</ul><br />
</div><br />
</div><br />
<br />
<br />
</html><br />
[[Education:TheIndex]]</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:Visual_Studio_2022&diff=7660Documentation:Visual Studio 20222022-12-21T19:10:01Z<p>Alexandra: /* VS2022: Error Generating Code/Changes not saving */</p>
<hr />
<div>Work in progress.<br />
<br />
Download pattern: <nowiki>https://mdriven.net/PublicDownloads/MDrivenFramework_7.0.0.13603_Nightly_vs2022.vsix</nowiki><br />
<br />
VS 2022 extensions are not backwards compatible.<br />
<br />
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.ExtensibilityEssentials2022<br />
<br />
For historic reasons we have delivered MDriven as an installer exe - and not as is normal in VS a VSIX.<br />
<br />
Starting from VS2022 we will need to rewrite and we will target the VSIX instead of exe.<br />
<br />
=== Building the project(admin and developers) ===<br />
Add a environment variable RevNumber , set this to a number like 123. This variable is used by the buildscript 2022BUILDMDrivenVSIX.cmd that will inject the number into a file source.extension.vsixmanifest based on the template source.extension.vsixmanifest.template.<br />
<br />
Later the build engine will update the RevNumber from svn version id.<br />
<br />
=== VS2022: Error Generating Code/Changes not saving ===<br />
'''Problem:''' If you recently upgraded to VS2022 and you have trouble saving your changes or got this error, while trying to code generate:<br />
Model file "C:\_path_to_your_project\YourProject.ecomdl" belongs to the "Misc Files" project. <br />
Please add it to a real project, then close and reopen the editor tab<br />
'''Solution:''' In the project's root folder, delete the hidden '''.vs''' folder that might contain the older backups of previous versions of VS.<br />
[[Category:Visual Studio]]</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:Visual_Studio_2022&diff=7659Documentation:Visual Studio 20222022-12-21T19:09:35Z<p>Alexandra: VS2022</p>
<hr />
<div>Work in progress.<br />
<br />
Download pattern: <nowiki>https://mdriven.net/PublicDownloads/MDrivenFramework_7.0.0.13603_Nightly_vs2022.vsix</nowiki><br />
<br />
VS 2022 extensions are not backwards compatible.<br />
<br />
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.ExtensibilityEssentials2022<br />
<br />
For historic reasons we have delivered MDriven as an installer exe - and not as is normal in VS a VSIX.<br />
<br />
Starting from VS2022 we will need to rewrite and we will target the VSIX instead of exe.<br />
<br />
=== Building the project(admin and developers) ===<br />
Add a environment variable RevNumber , set this to a number like 123. This variable is used by the buildscript 2022BUILDMDrivenVSIX.cmd that will inject the number into a file source.extension.vsixmanifest based on the template source.extension.vsixmanifest.template.<br />
<br />
Later the build engine will update the RevNumber from svn version id.<br />
<br />
=== VS2022: Error Generating Code/Changes not saving ===<br />
'''Problem:'''<br />
<br />
If you recently upgraded to VS2022 and you have trouble saving your changes or got this error, while trying to code generate:<br />
Model file "C:\_path_to_your_project\YourProject.ecomdl" belongs to the "Misc Files" project. Please add it to a real project, then close and reopen the editor tab<br />
'''Solution:'''<br />
<br />
In the project's root folder, delete the hidden '''.vs''' folder that might contain the older backups of previous versions of VS.<br />
[[Category:Visual Studio]]</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5923Documentation:MDriven Stylesheet2020-12-27T22:44:10Z<p>Alexandra: </p>
<hr />
<div><br />
==='''What is modifier-classes?'''===<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
<br />
[[File:1326px-Screenshot_2020-08-16_at_00.43.17.png|frameless|420x420px]]<br />
<br />
=== Downloading this CSS-file ===<br />
'''[https://drive.google.com/file/d/1Cwlla9gXTu1NLK0AtaMZeg6Ocd3No-RA/view?usp=sharing Here you can download the css file]''' (stylesheet) that contains all the style data with the latest changes. <br />
<br />
<br />
<br />
===TEXT===<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
<br />
<br />
<br />
==='''BUTTONS'''===<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
<br />
<br />
===SPECIAL BUTTONS===<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
<br />
==='''SPECIAL ICONS'''===<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
<br />
==='''INFO-ELEMENTS'''===<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
====How to create info-banner?====<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
<br />
<br />
<br />
==='''TABLES'''===<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
==='''REPORTING STATES'''===<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="wikitable contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
<br />
==='''CARDS (wrappers for groupboxes)'''===<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
<br />
<br />
==='''LISTS'''===<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''tk-items-list--default'''''<br />
|'''''tk-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''tk-document''''' style ref to the name of the document column<br />
*add "remove action" with '''''tk-remove-btn''''' '''''flat''''' style ref<br />
<br />
<br />
<br />
==='''SEARCH with DROPDOWN OF SUGGESTIONS'''===<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''''tk''-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''tk''-''searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Something.allInstances->size > 0) then 'tk-searchbox__input tk-searchbox--searching' else 'tk-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''''tk-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/</span> <br />
<span class="col-grey-medium">vCurrent_Something.Something.add(vCurrent_SearchResultGrid); /*Main action*/</span> <br />
<span class="col-grey-medium">vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''tk-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u><br />
<br />
==='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''===<br />
<br />
<br />
<br />
=== TABS ===<br />
<br />
==== How to create tabs-group with groupbox? ====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|}<br />
<br />
=== PAGE HEADERS ===<br />
To create page header with subheader like this:<br />
<br />
[[File:Screenshot_2020-12-06_at_01.03.51.png|frameless|429x429px]]<br />
* create two lable-columns for Page-header and its Subheader<br />
* choose the size of your Page Header from '''h1''' to '''h5''' and add it to the style ref<br />
* add "'''tk-sub-header"''' to the Subheader style <br />
<br />
==='''UI KIT'''===</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5842Documentation:MDriven Stylesheet2020-12-05T23:07:24Z<p>Alexandra: /* TABS */</p>
<hr />
<div><br />
==='''What is modifier-classes?'''===<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
<br />
[[File:1326px-Screenshot_2020-08-16_at_00.43.17.png|frameless|420x420px]]<br />
<br />
=== Downloading this CSS-file ===<br />
'''[https://drive.google.com/file/d/1Cwlla9gXTu1NLK0AtaMZeg6Ocd3No-RA/view?usp=sharing Here you can download the css file]''' (stylesheet) that contains all the style data with the latest changes. <br />
<br />
<br />
<br />
===TEXT===<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
<br />
<br />
<br />
==='''BUTTONS'''===<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
<br />
<br />
===SPECIAL BUTTONS===<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
<br />
==='''SPECIAL ICONS'''===<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
<br />
==='''INFO-ELEMENTS'''===<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
====How to create info-banner?====<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
<br />
<br />
<br />
==='''TABLES'''===<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
==='''REPORTING STATES'''===<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="wikitable contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
<br />
==='''CARDS (wrappers for groupboxes)'''===<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
<br />
<br />
==='''LISTS'''===<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''tk-items-list--default'''''<br />
|'''''tk-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''tk-document''''' style ref to the name of the document column<br />
*add "remove action" with '''''tk-remove-btn''''' '''''flat''''' style ref<br />
<br />
<br />
<br />
==='''SEARCH with DROPDOWN OF SUGGESTIONS'''===<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''''tk''-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''tk''-''searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Something.allInstances->size > 0) then 'tk-searchbox__input tk-searchbox--searching' else 'tk-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''''tk-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/</span> <br />
<span class="col-grey-medium">vCurrent_Something.Something.add(vCurrent_SearchResultGrid); /*Main action*/</span> <br />
<span class="col-grey-medium">vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''tk-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u><br />
<br />
==='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''===<br />
<br />
<br />
<br />
=== TABS ===<br />
<br />
==== How to create tabs-group with groupbox? ====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|}<br />
<br />
=== PAGE HEADERS ===<br />
To create page header with subheader like this:<br />
<br />
[[File:Screenshot_2020-12-06_at_01.03.51.png|frameless|429x429px]]<br />
* create two lable-columns for Page-header and its Subheader<br />
* choose the size of your Page Header from '''h1''' to '''h5''' and add it to the style ref<br />
* add "'''tk-subheader"''' to the Subheader style <br />
<br />
==='''UI KIT'''===</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5841Documentation:MDriven Stylesheet2020-12-05T23:06:33Z<p>Alexandra: </p>
<hr />
<div><br />
==='''What is modifier-classes?'''===<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
<br />
[[File:1326px-Screenshot_2020-08-16_at_00.43.17.png|frameless|420x420px]]<br />
<br />
=== Downloading this CSS-file ===<br />
'''[https://drive.google.com/file/d/1Cwlla9gXTu1NLK0AtaMZeg6Ocd3No-RA/view?usp=sharing Here you can download the css file]''' (stylesheet) that contains all the style data with the latest changes. <br />
<br />
<br />
<br />
===TEXT===<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
<br />
<br />
<br />
==='''BUTTONS'''===<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
<br />
<br />
===SPECIAL BUTTONS===<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
<br />
==='''SPECIAL ICONS'''===<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
<br />
==='''INFO-ELEMENTS'''===<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
====How to create info-banner?====<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
<br />
<br />
<br />
==='''TABLES'''===<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
==='''REPORTING STATES'''===<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="wikitable contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
<br />
==='''CARDS (wrappers for groupboxes)'''===<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
<br />
<br />
==='''LISTS'''===<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''tk-items-list--default'''''<br />
|'''''tk-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''tk-document''''' style ref to the name of the document column<br />
*add "remove action" with '''''tk-remove-btn''''' '''''flat''''' style ref<br />
<br />
<br />
<br />
==='''SEARCH with DROPDOWN OF SUGGESTIONS'''===<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''''tk''-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''tk''-''searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Something.allInstances->size > 0) then 'tk-searchbox__input tk-searchbox--searching' else 'tk-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''''tk-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/</span> <br />
<span class="col-grey-medium">vCurrent_Something.Something.add(vCurrent_SearchResultGrid); /*Main action*/</span> <br />
<span class="col-grey-medium">vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''tk-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u><br />
<br />
==='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''===<br />
<br />
<br />
<br />
=== TABS ===<br />
<br />
==== How to create tabs-group with groupbox? ====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|}<br />
<br />
==== PAGE HEADERS ====<br />
To create page header with subheader like this:<br />
<br />
[[File:Screenshot_2020-12-06_at_01.03.51.png|frameless|429x429px]]<br />
* create two lable-columns for Page-header and its Subheader<br />
* choose the size of your Page Header from '''h1''' to '''h5''' and add it to the style ref<br />
* add "'''tk-subheader"''' to the Subheader style <br />
<br />
==='''UI KIT'''===</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5840Documentation:MDriven Stylesheet2020-12-05T23:05:50Z<p>Alexandra: </p>
<hr />
<div><br />
==='''What is modifier-classes?'''===<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
<br />
[[File:1326px-Screenshot_2020-08-16_at_00.43.17.png|frameless|420x420px]]<br />
<br />
=== Downloading this CSS-file ===<br />
'''[https://drive.google.com/file/d/1Cwlla9gXTu1NLK0AtaMZeg6Ocd3No-RA/view?usp=sharing Here you can download the css file]''' (stylesheet) that contains all the style data with the latest changes. <br />
<br />
<br />
<br />
===TEXT===<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
<br />
<br />
<br />
==='''BUTTONS'''===<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
<br />
<br />
===SPECIAL BUTTONS===<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
<br />
==='''SPECIAL ICONS'''===<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
<br />
==='''INFO-ELEMENTS'''===<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
====How to create info-banner?====<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
<br />
<br />
<br />
==='''TABLES'''===<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
==='''REPORTING STATES'''===<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="wikitable contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
<br />
==='''CARDS (wrappers for groupboxes)'''===<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
<br />
<br />
==='''LISTS'''===<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''tk-items-list--default'''''<br />
|'''''tk-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''tk-document''''' style ref to the name of the document column<br />
*add "remove action" with '''''tk-remove-btn''''' '''''flat''''' style ref<br />
<br />
<br />
<br />
==='''SEARCH with DROPDOWN OF SUGGESTIONS'''===<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''''tk''-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''tk''-''searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Something.allInstances->size > 0) then 'tk-searchbox__input tk-searchbox--searching' else 'tk-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''''tk-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/</span> <br />
<span class="col-grey-medium">vCurrent_Something.Something.add(vCurrent_SearchResultGrid); /*Main action*/</span> <br />
<span class="col-grey-medium">vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''tk-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u><br />
<br />
==='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''===<br />
<br />
<br />
<br />
=== TABS ===<br />
<br />
==== How to create tabs-group with groupbox? ====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|}<br />
<br />
==== PAGE HEADERS ====<br />
To create page header with subheader like this:<br />
* [[File:Screenshot 2020-12-06 at 01.03.51.png|left|frameless|429x429px]]<br />
* create two lable-columns for Page-header and its Subheader<br />
* choose the size of your Page Header from '''h1''' to '''h5''' and add it to the style ref<br />
* add "'''tk-subheader"''' to the Subheader style <br />
<br />
==='''UI KIT'''===</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Screenshot_2020-12-06_at_01.03.51.png&diff=5839File:Screenshot 2020-12-06 at 01.03.51.png2020-12-05T23:04:20Z<p>Alexandra: </p>
<hr />
<div>Screenshot 2020-12-06 at 01.03.51</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5835Documentation:MDriven Stylesheet2020-12-02T15:13:37Z<p>Alexandra: </p>
<hr />
<div><br />
==='''What is modifier-classes?'''===<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
<br />
[[File:1326px-Screenshot_2020-08-16_at_00.43.17.png|frameless|420x420px]]<br />
<br />
=== Downloading this CSS-file ===<br />
'''[https://drive.google.com/file/d/1Cwlla9gXTu1NLK0AtaMZeg6Ocd3No-RA/view?usp=sharing Here you can download the css file]''' (stylesheet) that contains all the style data with the latest changes. <br />
<br />
<br />
<br />
===TEXT===<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
<br />
<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
<br />
<br />
<br />
==='''BUTTONS'''===<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
<br />
<br />
===SPECIAL BUTTONS===<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
<br />
<br />
==='''SPECIAL ICONS'''===<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
<br />
<br />
==='''INFO-ELEMENTS'''===<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
====How to create info-banner?====<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
<br />
<br />
<br />
==='''TABLES'''===<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
==='''REPORTING STATES'''===<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="wikitable contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
<br />
<br />
<br />
==='''CARDS (wrappers for groupboxes)'''===<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
<br />
<br />
==='''LISTS'''===<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''tk-items-list--default'''''<br />
|'''''tk-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''tk-document''''' style ref to the name of the document column<br />
*add "remove action" with '''''tk-remove-btn''''' '''''flat''''' style ref<br />
<br />
<br />
<br />
==='''SEARCH with DROPDOWN OF SUGGESTIONS'''===<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''''tk''-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''tk''-''searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Something.allInstances->size > 0) then 'tk-searchbox__input tk-searchbox--searching' else 'tk-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''''tk-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/</span> <br />
<span class="col-grey-medium">vCurrent_Something.Something.add(vCurrent_SearchResultGrid); /*Main action*/</span> <br />
<span class="col-grey-medium">vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''tk-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u><br />
<br />
==='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''===<br />
<br />
<br />
<br />
=== TABS ===<br />
<br />
==== How to create tabs-group with groupbox? ====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|}<br />
<br />
==='''UI KIT'''===</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5834Documentation:MDriven Stylesheet2020-12-02T15:12:23Z<p>Alexandra: </p>
<hr />
<div><br />
==='''What is modifier-classes?'''===<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
<br />
[[File:1326px-Screenshot_2020-08-16_at_00.43.17.png|frameless|420x420px]]<br />
<br />
=== Downloading this CSS-file ===<br />
'''[https://drive.google.com/file/d/1Cwlla9gXTu1NLK0AtaMZeg6Ocd3No-RA/view?usp=sharing Here you can download the css file]''' (stylesheet) that contains all the style data with the latest changes. <br />
<br />
===TEXT===<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
<br />
<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
<br />
<br />
<br />
==='''BUTTONS'''===<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
<br />
<br />
===SPECIAL BUTTONS===<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
<br />
==='''SPECIAL ICONS'''===<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
<br />
==='''INFO-ELEMENTS'''===<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
====How to create info-banner?====<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
<br />
==='''TABLES'''===<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
==='''REPORTING STATES'''===<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="wikitable contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
<br />
==='''CARDS (wrappers for groupboxes)'''===<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
==='''LISTS'''===<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''tk-items-list--default'''''<br />
|'''''tk-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''tk-document''''' style ref to the name of the document column<br />
*add "remove action" with '''''tk-remove-btn''''' '''''flat''''' style ref<br />
<br />
==='''SEARCH with DROPDOWN OF SUGGESTIONS'''===<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''''tk''-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''tk''-''searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Something.allInstances->size > 0) then 'tk-searchbox__input tk-searchbox--searching' else 'tk-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''''tk-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/</span> <br />
<span class="col-grey-medium">vCurrent_Something.Something.add(vCurrent_SearchResultGrid); /*Main action*/</span> <br />
<span class="col-grey-medium">vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''tk-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u><br />
<br />
==='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''===<br />
<br />
=== TABS ===<br />
<br />
==== How to create tabs-group with groupbox? ====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|}<br />
<br />
==='''UI KIT'''===</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5833Documentation:MDriven Stylesheet2020-12-02T15:10:40Z<p>Alexandra: </p>
<hr />
<div><br />
==='''What is modifier-classes?'''===<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
<br />
[[File:1326px-Screenshot_2020-08-16_at_00.43.17.png|frameless|420x420px]]<br />
<br />
=== Downloading this CSS-file ===<br />
'''[https://drive.google.com/file/d/1Cwlla9gXTu1NLK0AtaMZeg6Ocd3No-RA/view?usp=sharing Here you can download the css file]''' (stylesheet) that contains all the style data with the latest changes. <br />
<br />
===TEXT===<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
<br />
==='''BUTTONS'''===<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
===SPECIAL BUTTONS===<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
<br />
==='''SPECIAL ICONS'''===<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
<br />
==='''INFO-ELEMENTS'''===<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
====How to create info-banner?====<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
<br />
==='''TABLES'''===<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
==='''REPORTING STATES'''===<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="wikitable contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
<br />
==='''CARDS (wrappers for groupboxes)'''===<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
==='''LISTS'''===<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''tk-items-list--default'''''<br />
|'''''tk-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''tk-document''''' style ref to the name of the document column<br />
*add "remove action" with '''''tk-remove-btn''''' '''''flat''''' style ref<br />
<br />
==='''SEARCH with DROPDOWN OF SUGGESTIONS'''===<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''''tk''-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''tk''-''searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Something.allInstances->size > 0) then 'tk-searchbox__input tk-searchbox--searching' else 'tk-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''''tk-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/</span> <br />
<span class="col-grey-medium">vCurrent_Something.Something.add(vCurrent_SearchResultGrid); /*Main action*/</span> <br />
<span class="col-grey-medium">vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''tk-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u><br />
<br />
==='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''===<br />
<br />
=== TABS ===<br />
<br />
==== How to create tabs-group with groupbox? ====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|}<br />
<br />
==='''UI KIT'''===</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5828Documentation:MDriven Stylesheet2020-12-02T14:04:05Z<p>Alexandra: </p>
<hr />
<div><br />
===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless|420x420px]]<br />
<br />
'''[https://drive.google.com/file/d/1Cwlla9gXTu1NLK0AtaMZeg6Ocd3No-RA/view?usp=sharing Here you can download the css file]''' (stylesheet) that contains all the style data with the latest changes. <br />
<br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
<br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="wikitable contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''tk-items-list--default'''''<br />
|'''''tk-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''tk-document''''' style ref to the name of the document column<br />
*add "remove action" with '''''tk-remove-btn''''' '''''flat''''' style ref<br />
<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''''tk''-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''tk''-''searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Something.allInstances->size > 0) then 'tk-searchbox__input tk-searchbox--searching' else 'tk-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''''tk-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/</span> <br />
<span class="col-grey-medium">vCurrent_Something.Something.add(vCurrent_SearchResultGrid); /*Main action*/</span> <br />
<span class="col-grey-medium">vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''tk-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u><br />
<br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|}<br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5826Documentation:MDriven Stylesheet2020-12-02T13:22:28Z<p>Alexandra: </p>
<hr />
<div><br />
===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless|420x420px]]<br />
<br />
[https://drive.google.com/file/d/12RElVIZ8oAlYpBJ1_4-1DJ01fq9suDWj/view?usp=sharing '''Here you can download the css file'''] (stylesheet) that contains all the style data with the latest changes. <br />
<br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
<br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="wikitable contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''tk-items-list--default'''''<br />
|'''''tk-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''tk-document''''' style ref to the name of the document column<br />
*add "remove action" with '''''tk-remove-btn''''' '''''flat''''' style ref<br />
<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''''tk''-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''tk''-''searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Something.allInstances->size > 0) then 'tk-searchbox__input tk-searchbox--searching' else 'tk-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''''tk-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/</span> <br />
<span class="col-grey-medium">vCurrent_Something.Something.add(vCurrent_SearchResultGrid); /*Main action*/</span> <br />
<span class="col-grey-medium">vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''tk-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u><br />
<br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|}<br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5817Documentation:MDriven Stylesheet2020-12-02T10:45:12Z<p>Alexandra: </p>
<hr />
<div>===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless|420x420px]]<br />
<br />
[https://drive.google.com/file/d/12RElVIZ8oAlYpBJ1_4-1DJ01fq9suDWj/view?usp=sharing '''Here you can download the css file'''] (stylesheet) that contains all the style data with the latest changes. <br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''sf-items-list--default'''''<br />
|'''''sf-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''sf-document''''' style ref to the name of the organisation column<br />
*add "remove action" with '''''sf-remove-btn''''' '''''flat''''' style ref<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''sf-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''sf-searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Something.allInstances->size > 0) then 'sf-searchbox__input sf-searchbox--searching' else 'sf-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''tk''-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/</span> <br />
<span class="col-grey-medium">vCurrent_Something.Something.add(vCurrent_SearchResultGrid); /*Main action*/</span> <br />
<span class="col-grey-medium">vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''sf-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u> <br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|} <br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5816Documentation:MDriven Stylesheet2020-12-02T10:43:16Z<p>Alexandra: </p>
<hr />
<div>===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless|420x420px]]<br />
<br />
[https://drive.google.com/file/d/12RElVIZ8oAlYpBJ1_4-1DJ01fq9suDWj/view?usp=sharing '''Here you can download the css file'''] (stylesheet) that contains all the style data with the latest changes. <br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''sf-items-list--default'''''<br />
|'''''sf-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''sf-document''''' style ref to the name of the organisation column<br />
*add "remove action" with '''''sf-remove-btn''''' '''''flat''''' style ref<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''sf-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''sf-searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Institution.allInstances->size > 0) then 'sf-searchbox__input sf-searchbox--searching' else 'sf-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''tk''-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/ vCurrent_UserAffiliations.AffiliatedTo.add(vCurrent_SearchResultGrid); /*Main action*/ vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''sf-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u> <br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and preferred style ref e.g. '''tk-tab-btn primary flat''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary''''' (without '''flat''')<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
(current tab) '''''tk-tab-btn primary flat''''' <br />
|} <br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5815Documentation:MDriven Stylesheet2020-12-02T10:38:19Z<p>Alexandra: </p>
<hr />
<div>===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless|420x420px]]<br />
<br />
[https://drive.google.com/file/d/12RElVIZ8oAlYpBJ1_4-1DJ01fq9suDWj/view?usp=sharing '''Here you can download the css file'''] (stylesheet) that contains all the style data with the latest changes. <br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''sf-items-list--default'''''<br />
|'''''sf-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''sf-document''''' style ref to the name of the organisation column<br />
*add "remove action" with '''''sf-remove-btn''''' '''''flat''''' style ref<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''sf-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''sf-searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Institution.allInstances->size > 0) then 'sf-searchbox__input sf-searchbox--searching' else 'sf-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''tk''-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/ vCurrent_UserAffiliations.AffiliatedTo.add(vCurrent_SearchResultGrid); /*Main action*/ vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''sf-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u> <br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn'''<br />
* for the chosen tab (button) set the state - '''disabled'''<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|552x552px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.27.png|center|frameless|528x528px]]<br />
|[[File:Screenshot 2020-12-02 at 12.36.34.png|center|frameless|540x540px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''+ tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''+ tk-tab-btn primary'''''<br />
|'''''tk-tabs-group''''' <br />
'''''+ tk-tab-btn flat primary''''' <br />
|} <br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Screenshot_2020-12-02_at_12.36.34.png&diff=5814File:Screenshot 2020-12-02 at 12.36.34.png2020-12-02T10:37:45Z<p>Alexandra: </p>
<hr />
<div>Screenshot 2020-12-02 at 12.36.34</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Screenshot_2020-12-02_at_12.36.27.png&diff=5813File:Screenshot 2020-12-02 at 12.36.27.png2020-12-02T10:37:15Z<p>Alexandra: </p>
<hr />
<div>Screenshot 2020-12-02 at 12.36.27</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5812Documentation:MDriven Stylesheet2020-12-02T10:35:34Z<p>Alexandra: </p>
<hr />
<div>===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless|420x420px]]<br />
<br />
[https://drive.google.com/file/d/12RElVIZ8oAlYpBJ1_4-1DJ01fq9suDWj/view?usp=sharing '''Here you can download the css file'''] (stylesheet) that contains all the style data with the latest changes. <br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''sf-items-list--default'''''<br />
|'''''sf-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''sf-document''''' style ref to the name of the organisation column<br />
*add "remove action" with '''''sf-remove-btn''''' '''''flat''''' style ref<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''sf-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''sf-searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Institution.allInstances->size > 0) then 'sf-searchbox__input sf-searchbox--searching' else 'sf-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''tk''-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/ vCurrent_UserAffiliations.AffiliatedTo.add(vCurrent_SearchResultGrid); /*Main action*/ vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''sf-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u> <br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading (+ add "HideHeading" tagged value) and set style-ref to '''''tk-tabs-group''''' <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn flat'''<br />
* for the chosen tab (button) set the state - '''disabled''' and add preferred style ref '''e.g. primary''' (all the possible styles listed further)<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab! <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|496x496px]]<br />
|[[File:Tabs-default.png|center|frameless|489x489px]]<br />
|[[File:Tabs primary flat.png|center|frameless|460x460px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
''(every button) '''tk-tab-btn flat'''''<br />
<br />
''(chosen tab) '''tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
''(every button) '''tk-tab-btn flat'''''<br />
<br />
''(chosen tab) '''tk-tab-btn primary''' (without flat!)''<br />
|'''''tk-tabs-group''''' <br />
'''''(every button) tk-tab-btn flat'''''<br />
<br />
'''''(chosen tab) tk-tab-btn primary''''' <br />
|} <br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5811Documentation:MDriven Stylesheet2020-12-02T10:14:45Z<p>Alexandra: </p>
<hr />
<div>===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless|420x420px]]<br />
<br />
[https://drive.google.com/file/d/12RElVIZ8oAlYpBJ1_4-1DJ01fq9suDWj/view?usp=sharing '''Here you can download the css file'''] (stylesheet) that contains all the style data with the latest changes. <br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''sf-items-list--default'''''<br />
|'''''sf-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''sf-document''''' style ref to the name of the organisation column<br />
*add "remove action" with '''''sf-remove-btn''''' '''''flat''''' style ref<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''sf-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''sf-searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Institution.allInstances->size > 0) then 'sf-searchbox__input sf-searchbox--searching' else 'sf-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''tk''-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/ vCurrent_UserAffiliations.AffiliatedTo.add(vCurrent_SearchResultGrid); /*Main action*/ vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''sf-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u> <br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn'''<br />
* for the chosen tab (button) set the state - '''disabled''' and add style ref '''primary flat/flat/primary'''<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|496x496px]]<br />
|[[File:Tabs-default.png|center|frameless|489x489px]]<br />
|[[File:Tabs primary flat.png|center|frameless|460x460px]]<br />
|-<br />
|'''''tk-tabs-group'''''<br />
'''''+ tk-tab-btn (every button)''''' <br />
'''''+ tk-tab-btn flat (to chosen tab)'''''<br />
|'''''tk-tabs-group'''''<br />
'''''+ tk-tab-btn (every button)'''''<br />
'''''+ tk-tab-btn primary '''''(to chosen tab)''''''''''<br />
|'''''tk-tabs-group'''''<br />
'''''+ tk-tab-btn (every button)''''' <br />
'''''+ tk-tab-btn flat primary (''''''''''to chosen tab)''''''''''''''' <br />
|} <br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5810Documentation:MDriven Stylesheet2020-12-02T10:06:15Z<p>Alexandra: /* SEARCH with DROPDOWN OF SUGGESTIONS */</p>
<hr />
<div>===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless|420x420px]]<br />
<br />
[https://drive.google.com/file/d/12RElVIZ8oAlYpBJ1_4-1DJ01fq9suDWj/view?usp=sharing '''Here you can download the css file'''] (stylesheet) that contains all the style data with the latest changes. <br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''sf-items-list--default'''''<br />
|'''''sf-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''sf-document''''' style ref to the name of the organisation column<br />
*add "remove action" with '''''sf-remove-btn''''' '''''flat''''' style ref<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
[[File:Searchbox.png|frameless|464x464px]]<br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''sf-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''sf-searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Institution.allInstances->size > 0) then 'sf-searchbox__input sf-searchbox--searching' else 'sf-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''tk''-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/ vCurrent_UserAffiliations.AffiliatedTo.add(vCurrent_SearchResultGrid); /*Main action*/ vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''sf-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u> <br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading and set style-ref to '''''tk-tabs-group''''' (+ add "HideHeading") <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn'''<br />
* for the chosen tab (button) set the state - '''disabled'''<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|496x496px]]<br />
|[[File:Tabs-default.png|center|frameless|489x489px]]<br />
|[[File:Tabs primary flat.png|center|frameless|460x460px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''+ tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''+ tk-tab-btn primary'''''<br />
|'''''tk-tabs-group''''' <br />
'''''+ tk-tab-btn flat primary''''' <br />
|} <br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Searchbox.png&diff=5809File:Searchbox.png2020-12-02T08:51:58Z<p>Alexandra: </p>
<hr />
<div>searchbox</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5808Documentation:MDriven Stylesheet2020-11-30T02:43:03Z<p>Alexandra: </p>
<hr />
<div>===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless|420x420px]]<br />
<br />
[https://drive.google.com/file/d/12RElVIZ8oAlYpBJ1_4-1DJ01fq9suDWj/view?usp=sharing '''Here you can download the css file'''] (stylesheet) that contains all the style data with the latest changes. <br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless|426x426px]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside<br />
[[File:How-info-banner.png|right|frameless|754x754px]]<br />
To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless|337x337px]]<br />
<br />
'''''tk-group-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:List0def.png|center|frameless]]<br />
|[[File:List-prim.png|center|frameless]]<br />
|-<br />
|'''''sf-items-list--default'''''<br />
|'''''sf-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''sf-document''''' style ref to the name of the organisation column<br />
*add "remove action" with '''''sf-remove-btn''''' '''''flat''''' style ref<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
<figure-inline>[[File:Screenshot_2020-10-16_at_07.59.11.png|link=https://wiki.scifree.se/bluespice/File:Screenshot_2020-10-16_at_07.59.11.png|425x425px]]</figure-inline><br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''sf-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult [[File:Seaker.png|426x426px]]<br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values [[File:Seaker-2.png|465x465px]]<br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''sf-searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Institution.allInstances->size > 0) then 'sf-searchbox__input sf-searchbox--searching' else 'sf-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''tk''-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/ vCurrent_UserAffiliations.AffiliatedTo.add(vCurrent_SearchResultGrid); /*Main action*/ vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''sf-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u> <br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading and set style-ref to '''''tk-tabs-group''''' <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn'''<br />
* for the chosen tab (button) set the state - '''disabled'''<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|496x496px]]<br />
|[[File:Tabs-default.png|center|frameless|489x489px]]<br />
|[[File:Tabs primary flat.png|center|frameless|460x460px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''+ tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''+ tk-tab-btn primary'''''<br />
|'''''tk-tabs-group''''' <br />
'''''+ tk-tab-btn flat primary''''' <br />
|} <br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Seaker-2.png&diff=5807File:Seaker-2.png2020-11-30T02:42:33Z<p>Alexandra: </p>
<hr />
<div>seaker-2</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Seaker.png&diff=5806File:Seaker.png2020-11-30T02:41:51Z<p>Alexandra: </p>
<hr />
<div>seaker</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:List-prim.png&diff=5805File:List-prim.png2020-11-30T02:40:06Z<p>Alexandra: </p>
<hr />
<div>list-prim</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:List0def.png&diff=5804File:List0def.png2020-11-30T02:39:33Z<p>Alexandra: </p>
<hr />
<div>list0def</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:How-info-banner.png&diff=5803File:How-info-banner.png2020-11-30T02:35:05Z<p>Alexandra: </p>
<hr />
<div>how-info-banner</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5802Documentation:MDriven Stylesheet2020-11-30T02:33:27Z<p>Alexandra: </p>
<hr />
<div>===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless]]<br />
<br />
[https://drive.google.com/file/d/12RElVIZ8oAlYpBJ1_4-1DJ01fq9suDWj/view?usp=sharing '''Here you can download the css file'''] (stylesheet) that contains all the style data with the latest changes. <br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#f59c1a">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|<p style="color: #5DB85B">Type here </p><br />
|'''''tk-success'''''<br />
|-<br />
|<p style="color: #D32E2E">Type here </p><br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside[[File:Screenshot 2020-08-16 at 02.08.36.png|413x413px|right|frameless|link=https://wiki.scifree.se/bluespice/File:Screenshot_2020-08-16_at_02.08.36.png]]To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless]]<br />
<br />
'''''tk-roup-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:items-list--default.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:items-list--default.png]]<br />
|[[File:items-list--primary.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:items-list--primary.png]]<br />
|-<br />
|'''''sf-items-list--default'''''<br />
|'''''sf-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''sf-organisations''''' style ref to the name of the organisation column<br />
*add "remove action" with '''''sf-remove-btn''''' '''''flat''''' style ref<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
<figure-inline>[[File:Screenshot_2020-10-16_at_07.59.11.png|link=https://wiki.scifree.se/bluespice/File:Screenshot_2020-10-16_at_07.59.11.png|425x425px]]</figure-inline><br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''sf-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult <figure-inline>[[File:Screenshot_2020-10-16_at_08.04.44.png|link=https://wiki.scifree.se/bluespice/File:Screenshot_2020-10-16_at_08.04.44.png|426x426px]]</figure-inline><br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values <figure-inline>[[File:Screenshot_2020-10-16_at_08.13.12.png|link=https://wiki.scifree.se/bluespice/File:Screenshot_2020-10-16_at_08.13.12.png|465x465px]]</figure-inline><br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''sf-searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Institution.allInstances->size > 0) then 'sf-searchbox__input sf-searchbox--searching' else 'sf-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''tk''-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/ vCurrent_UserAffiliations.AffiliatedTo.add(vCurrent_SearchResultGrid); /*Main action*/ vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''sf-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u> <br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading and set style-ref to '''''tk-tabs-group''''' <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn'''<br />
* for the chosen tab (button) set the state - '''disabled'''<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|496x496px]]<br />
|[[File:Tabs-default.png|center|frameless|489x489px]]<br />
|[[File:Tabs primary flat.png|center|frameless|460x460px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''+ tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''+ tk-tab-btn primary'''''<br />
|'''''tk-tabs-group''''' <br />
'''''+ tk-tab-btn flat primary''''' <br />
|} <br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=Documentation:MDriven_Stylesheet&diff=5801Documentation:MDriven Stylesheet2020-11-30T02:30:51Z<p>Alexandra: </p>
<hr />
<div>===='''What is modifier-classes?'''====<br />
Modifier-classes define the SciFree style and customise it within the [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System Turnkey Style System.]<br />
<br />
To use turnkey or mdriven modifier classes put them into the <u>style ref</u> in View Model Editor.<br />
<br />
Example style for the buttons:<br />
[[File:1326px-Screenshot 2020-08-16 at 00.43.17.png|left|frameless]]<br />
<br />
[https://drive.google.com/file/d/12RElVIZ8oAlYpBJ1_4-1DJ01fq9suDWj/view?usp=sharing '''Here you can download the css file'''] (stylesheet) that contains all the style data with the latest changes. <br />
===='''TEXT'''====<br />
You can style the text with modifier-classes like:<br />
{| class="wikitable contenttable"<br />
|+<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====TEXT=====<br />
|-<br />
|'''Type here'''<br />
|'''''tk-bold'''''<br />
|-<br />
|''Type here''<br />
|'''''tk-italic'''''<br />
|-<br />
|<p style="color:#1A7E8E">Type here</p><br />
|'''''tk-primary'''''<br />
|-<br />
|Type here<br />
|'''''tk-success'''''<br />
|-<br />
|Type-here<br />
|'''''tk-error'''''<br />
|-<br />
| colspan="2" class="col-blue-light-bg" |<br />
=====CHIPS=====<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#212121 !important;background-color:#DFDFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-grey-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#104E57 !important;background-color:#DEECEF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-blue-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#5DB85B !important;background-color:#E6F4E6;height:32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-green-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''tk-yellow-chip'''''<br />
|-<br />
|<p style="display:inline-flex;justify-content:center;color:#D32E2E !important;background-color:#F8DFDF;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100%;min-width:32px;text-align:center;font-weight: 500;">Type here</p><br />
|'''''th-red-chip'''''<br />
|}Chips can be used in the table to highlight different statuses or process stages.<br />
<br />
'''E.g.''':<p style="display:inline-flex;justify-content:center;color:#F0AD4E !important;background-color:#FDF2E4;height: 32px;line-height: 2;border-radius:16px;padding: 0px 8px;width:100px;min-width:32px;text-align:center;font-weight: 500;">Pending...</p><br />
===='''BUTTONS'''====<br />
There are three forms of buttons in the Turnkey Style System: '''default''', '''outlined''' and '''flat'''.<br />
<br />
Also, you can use colors like: '''primary''' (main SciFree color), '''danger''' or '''success.''' For more colors follow [https://wiki.mdriven.net/index.php/MDriven_Turnkey_Style_System the Turnkey style system]'''.'''<br />
<br />
Choose needed form and color then put their ''modifier-classes'' into the style-ref. (you don't need to add 'default' styling)<br />
<br />
'''E.g.''' : primary, ''primary outlined'', ''primary flat'', ''danger, danger flat'' etc.<br />
<br />
THIS MODIFIER CLASSES IS FOR BUTTONS AND LINKS ONLY, USE MD-PREFIXED CLASSES FOR STYLING TEXT- e.g. '''tk-primary'''.<br />
<br />
[[File:Screenshot 2020-11-30 at 02.32.33.png|frameless]]<br />
<br />
=====SPECIAL BUTTONS=====<br />
Also you can stack on top modifier-''classes'' for special buttons.<br />
<br />
(adds a special Material Design Icons)<br />
<br />
You can remove the "action name" for the button and the standalone icon without text as a button<br />
{| class="wikitable"<br />
!'''Example'''<br />
!'''Style reference'''<br />
|-<br />
|[[File:Upload-btn.png|link=https://wiki.scifree.se/bluespice/File:upload-btn.png|center|frameless|159x159px]]<br />
|<br />
'''''tk''-''upload-btn''''' ''primary''<br />
|-<br />
|[[File:Delete-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''delete-btn''''' ''primary''<br />
|-<br />
|[[File:Back-btn.png|center|frameless]]<br />
|<br />
'''''tk''-''back-btn''''' primary <br />
|-<br />
|[[File:next-btn.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:next-btn.png]]<br />
|<br />
'''''tk''-''next-btn''''' ''primary''<br />
|-<br />
|[[File:search-btn.png|center|frameless|117x117px|link=https://wiki.scifree.se/bluespice/File:search-btn.png]]<br />
|<br />
'''''tk''-''search-btn''''' ''primary'' <br />
|-<br />
|[[File:Remove-flat.png|center|frameless]]<br />
|'''''tk''-''remove-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Tk-add-btn.png|center|frameless|113x113px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
(standalone icon without text)<br />
|-<br />
|[[File:Add.png|center|frameless|142x142px]]<br />
|'''''tk''-''add-btn''''' ''primary'' ''flat''<br />
|-<br />
|[[File:Info.png|center|frameless|137x137px]]<br />
|'''tk-info-btn''' flat<br />
|}<br />
===='''SPECIAL ICONS'''====<br />
You can add icons to any element (not only the buttons) by using the following classes. <br />
{| class="contenttable"<br />
|[[File:Doc.png|center|frameless]]<br />
|[[File:Location.png|center|frameless|214x214px]]<br />
|-<br />
|'''''tk-document''''' <br />
'''''tk-primary'''''<br />
|'''''tk-location''''' <br />
'''''tk-primary'''''<br />
|}<br />
===='''INFO-ELEMENTS'''====<br />
Info-elements can be static or removable. <br />
{| class="contenttable"<br />
|[[File:Info-text.png|center|frameless|360x360px]]<br />
|[[File:Info-box.png|center|frameless|360x360px]]<br />
|[[File:Info-banner.png|center|frameless|430x430px]]<br />
|-<br />
|'''''tk-info-text'''''<br />
(static text that can be added anywhere on the page, preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-box'''''<br />
(static text that can be added anywhere on the page,preferably take less than 6 col, tagged value: HideHeading)<br />
|'''''tk-info-banner'''''<br />
(special info-help for newbies, removable groupbox, that contains text and action to remove it, can be added at the top of the page, tagged value: HideHeading)<br />
|}<br />
======How to create info-banner?======<br />
Create groupbox of 1 row and 12 col with style-ref: '''tk''-''info-banner,''' add static-text of 11cols and action '''tk-''remove-btn''''' of 1 col inside[[File:Screenshot 2020-08-16 at 02.08.36.png|413x413px|right|frameless|link=https://wiki.scifree.se/bluespice/File:Screenshot_2020-08-16_at_02.08.36.png]]To make it removable:<br />
#Create a boolean variable (vRemoveInfo, false)<br />
#Make groupbox visible, when vRemoveInfo is true only<br />
#Set the remove action EAL expression to vRemoveInfo := true<br />
===='''TABLES'''====<br />
{| class="contenttable"<br />
|+<br />
|[[File:Table.png|center|frameless|762x762px]]<br />
|-<br />
|'''''tk-table'''''<br />
|}Both variants can be used without heading by adding a tagged value: HideHeading.<br />
<br />
Choose the style of the text for each column: '''e.g.''' Main object is bold - '''''tk-bold''''' , or with scifree colors - '''''tk-primary'''''<br />
<br />
===='''REPORTING STATES'''====<br />
Use reporting states with icons by adding the following modifier-classes. You can choose to colour them in tk-primary/tk-success/tk-danger colour or just leave it default grey , without adding any additional modifier classes.<br />
{| class="contenttable"<br />
|+<br />
|[[File:Upload.png|center|frameless|120x120px]]<br />
|[[File:Processing.png|center|frameless|120x120px]]<br />
|[[File:Waiting.png|center|frameless|120x120px]]<br />
|[[File:Done.png|center|frameless|148x148px]]<br />
|[[File:Error.png|center|frameless|122x122px]]<br />
|-<br />
|'''''tk''-''uploading-state'''''<br />
'''''tk-''primary'''<br />
|'''''tk''-processing''-state'''''<br />
'''''tk''-primary'''<br />
|'''''tk''-''waiting-state'''''<br />
'''''tk''-''primary'''''<br />
|'''tk-success-state'''<br />
'''tk-success'''<br />
|'''tk-error-state'''<br />
'''tk-danger'''<br />
|}<br />
===='''CARDS (wrappers for groupboxes)'''====<br />
[[File:Group-card.png|frameless]]<br />
<br />
'''''tk-roup-card'''''<br />
<br />
(tagged-value: HideHeading)<br />
<br />
===='''LISTS'''====<br />
Tables in a form of lists<br />
{| class="contenttable"<br />
|+<br />
|[[File:items-list--default.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:items-list--default.png]]<br />
|[[File:items-list--primary.png|center|frameless|link=https://wiki.scifree.se/bluespice/File:items-list--primary.png]]<br />
|-<br />
|'''''sf-items-list--default'''''<br />
|'''''sf-items-list--primary'''''<br />
|}To make a list of affilliations like in the example,<br />
*use '''''sf-organisations''''' style ref to the name of the organisation column<br />
*add "remove action" with '''''sf-remove-btn''''' '''''flat''''' style ref<br />
===='''SEARCH with DROPDOWN OF SUGGESTIONS'''====<br />
<figure-inline>[[File:Screenshot_2020-10-16_at_07.59.11.png|link=https://wiki.scifree.se/bluespice/File:Screenshot_2020-10-16_at_07.59.11.png|425x425px]]</figure-inline><br />
<br />
To make a search field like in the example(with an add action),<br />
*create a groupbox with '''sf-searchbox''' style ref that includes <u>search input</u> with vSeekParam variable and a <u>table of results</u> - vSeekerResult <figure-inline>[[File:Screenshot_2020-10-16_at_08.04.44.png|link=https://wiki.scifree.se/bluespice/File:Screenshot_2020-10-16_at_08.04.44.png|426x426px]]</figure-inline><br />
*include search input that takes 1 row and add "HideHeading" and proper "Placeholder" tagged values <figure-inline>[[File:Screenshot_2020-10-16_at_08.13.12.png|link=https://wiki.scifree.se/bluespice/File:Screenshot_2020-10-16_at_08.13.12.png|465x465px]]</figure-inline><br />
*set style ref for search input as an expression (if the vSeekParam is not empty and there are more than 0 results then ''''sf-searchbox--searching'''<nowiki/>' class should be added)<br />
if not vSeekParam.isNullOrEmpty and (Institution.allInstances->size > 0) then 'sf-searchbox__input sf-searchbox--searching' else 'sf-searchbox__input' endif<br />
*set table of results is a nested ViewModel class that contains one or two attributes and optional action; <span class="col-grey-medium">'''(optional)''' add "add action" with '''tk''-add-btn primary''''' style ref to the nesting and set its expression to</span><br />
<span class="col-grey-medium">vCurrent_SearchResultGrid;/*Choose the current row in the results grid*/ vCurrent_UserAffiliations.AffiliatedTo.add(vCurrent_SearchResultGrid); /*Main action*/ vSeekParam := String.NullValue /*Clean the search input field*/</span><br />
*set "HideHeading" tagged value<br />
*set style ref - "'''sf-searchbox__results'''";<br />
*set visible expression to results if the search field is not empty and there are more than 0 results<br />
not vSeekParam.isNullOrEmpty and not (vSeekerResult->size <= 0) <br />
Now you can set a search server side action that runs every 30ms only when the search field is not empty ( DisabledExpression: vSeekParam->isEmpty ) <u>[https://wiki.mdriven.net/index.php/MDrivenServer_periodic_server-side_actions more about server side actions]</u> <br />
===='''SPECIAL FIELDS FOR DOCUMENT MANAGING'''====<br />
<br />
==== TABS ====<br />
<br />
===== How to create tabs-group with groupbox? =====<br />
* create groupbox without heading and set style-ref to '''''tk-tabs-group''''' <br />
* add proper amount of tab-buttons (distribute the columns for buttons inside the groupbox equally) and set every button style-ref to '''tk-tab-btn'''<br />
* for the chosen tab (button) set the state - '''disabled'''<br />
* now copy the groupbox of buttons to every page needed, don't forget to change the disabled state for the current tab <br />
{| class="wikitable"<br />
|[[File:Tab-btn.png|center|frameless|496x496px]]<br />
|[[File:Tabs-default.png|center|frameless|489x489px]]<br />
|[[File:Tabs primary flat.png|center|frameless|460x460px]]<br />
|-<br />
|'''''tk-tabs-group''''' <br />
'''''+ tk-tab-btn flat'''''<br />
|'''''tk-tabs-group'''''<br />
'''''+ tk-tab-btn primary'''''<br />
|'''''tk-tabs-group''''' <br />
'''''+ tk-tab-btn flat primary''''' <br />
|} <br />
<br />
===='''UI KIT'''====</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Group-card.png&diff=5800File:Group-card.png2020-11-30T02:29:38Z<p>Alexandra: </p>
<hr />
<div>group-card</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Error.png&diff=5799File:Error.png2020-11-30T02:27:28Z<p>Alexandra: </p>
<hr />
<div>error</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Done.png&diff=5798File:Done.png2020-11-30T02:25:07Z<p>Alexandra: </p>
<hr />
<div>done</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Waiting.png&diff=5797File:Waiting.png2020-11-30T02:23:29Z<p>Alexandra: </p>
<hr />
<div>waiting</div>Alexandrahttps://wiki.mdriven.net/index.php?title=File:Processing.png&diff=5796File:Processing.png2020-11-30T02:22:49Z<p>Alexandra: </p>
<hr />
<div>processing</div>Alexandra