Hello Michael, We are currently integrating Bootstrap 4 only for ecommerce component. Previously, there was no Bootstrap support, so we thought of going with the latest Bootstrap 4 rollout. I understand your concern about Bootstrap 4 being in a beta version, but It has already 6 alpha version rollouts and 2 beta version rollouts after that. So IMO the stable release won`t be much different than the current *v4.0.0-beta.2* and we can have it for our ecommerce component.
Thanks Mayank Lambhate | Enterprise Software Engineer HotWax Commerce <http://www.hotwax.co/> by HotWax Systems <http://www.hotwaxsystems.com/> On Tue, Dec 19, 2017 at 1:54 PM, Michael Brohl <[email protected]> wrote: > Hi Deepak, > > do we really want to make a switch to Bootsrap 4 now?? > > When I see it right, it is still in beta and it breaks existing Bootstrap > 3 based UI because of some changes which are not backwards compatible. > > I think we should make a decision about this move. > > I'd propose to wait for the final version, make a proper analysis of the > changes and then move. > > What do you think? > > Thanks, > > Michael > > > Am 19.12.17 um 06:52 schrieb [email protected]: > >> Author: deepak >> Date: Tue Dec 19 05:52:11 2017 >> New Revision: 1818637 >> >> URL: http://svn.apache.org/viewvc?rev=1818637&view=rev >> Log: >> Improved: Update markup of Messages page according to standard markup >> given by Bootstrap v4.0.s (OFBIZ-10090) >> Thanks Nitish Mishra for your contribution >> >> Modified: >> ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/Messa >> geDetail.ftl >> ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/Messa >> geList.ftl >> ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/NewMsg.ftl >> >> Modified: ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/Messag >> eDetail.ftl >> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-plugins/trunk/ecomm >> erce/template/customer/MessageDetail.ftl?rev=1818637&r1= >> 1818636&r2=1818637&view=diff >> ============================================================ >> ================== >> --- ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/MessageDetail.ftl >> (original) >> +++ ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/MessageDetail.ftl >> Tue Dec 19 05:52:11 2017 >> @@ -27,8 +27,8 @@ under the License. >> >> Static["org.apache.ofbiz.party.party.PartyHelper"].getPartyName(delegator, >> communicationEvent.partyIdTo, true)> >> </#if> >> -<div class="screenlet"> >> - <div class="screenlet-title-bar"> >> +<div class="card m-3"> >> + <div class="card-header"> >> <div class="boxlink"> >> <#if (communicationEvent.partyIdFrom! != (userLogin.partyId)!)> >> <a href="<@ofbizUrl>newmessage?communicationEventId=${communica >> tionEvent.communicationEventId}</@ofbizUrl>" >> @@ -37,54 +37,51 @@ under the License. >> </#if> >> <a href="<@ofbizUrl>messagelist</@ofbizUrl>" >> class="submenutextright">${uiLabelMap.EcommerceViewList}</a> >> </div> >> - <div class="h3">${uiLabelMap.EcommerceReadMessage}</div> >> + <strong>${uiLabelMap.EcommerceReadMessage}</strong> >> </div> >> - <div class="screenlet-body"> >> - <table width="100%" border="0" cellpadding="1"> >> - <tr> >> - <td> </td> >> - </tr> >> - <tr> >> - <td align="right"> >> - <div class="tableheadtext">${uiLabelMap.CommonFrom}:</div> >> - </td> >> - <td> >> - <div>${fromName!}</div> >> - </td> >> - </tr> >> - <tr> >> - <td align="right"> >> - <div class="tableheadtext">${uiLabelMap.CommonTo}:</div> >> - </td> >> - <td> >> - <div>${toName!}</div> >> - </td> >> - </tr> >> - <tr> >> - <td align="right"> >> - <div class="tableheadtext">${uiLabelMap.CommonDate}:</div> >> - </td> >> - <td> >> - <div>${communicationEvent.entryDate}</div> >> - </td> >> - </tr> >> - <tr> >> - <td align="right"> >> - <div class="tableheadtext">${uiLabe >> lMap.EcommerceSubject}:</div> >> - </td> >> - <td> >> - <div> ${(communicationEvent.subject)?default("[${ >> uiLabelMap.EcommerceNoSubject}]")}</div> >> - </td> >> - </tr> >> - <tr> >> - <td> </td> >> - </tr> >> - <tr> >> - <td> </td> >> - <td> >> - <div>${StringUtil.wrapString(communicationEvent.content)?def >> ault("[${uiLabelMap.EcommerceEmptyBody}]")}</div> >> - </td> >> - </tr> >> - </table> >> + <div class="card-body"> >> + <div class="row"> >> + <div class="col-1"> >> + <strong>${uiLabelMap.CommonFrom} :</strong> >> + </div> >> + <div class="col-11"> >> + ${fromName?default("N/A")} >> + </div> >> + </div> >> + <hr/> >> + <div class="row"> >> + <div class="col-1"> >> + <strong>${uiLabelMap.CommonTo} :</strong> >> + </div> >> + <div class="col-11"> >> + ${toName?default("N/A")} >> + </div> >> + </div> >> + <hr/> >> + <div class="row"> >> + <div class="col-1"> >> + <strong>${uiLabelMap.CommonDate} :</strong> >> + </div> >> + <div class="col-11"> >> + ${communicationEvent.entryDate?default("N/A")} >> + </div> >> + </div> >> + <hr/> >> + <div class="row"> >> + <div class="col-1"> >> + <strong>${uiLabelMap.EcommerceSubject} :</strong> >> + </div> >> + <div class="col-11"> >> + ${(communicationEvent.subject)?default("[${uiLabelMap.Ecomme >> rceNoSubject}]")} >> + </div> >> + </div> >> + <hr/> >> + <div class="row"> >> + <div class="col-1"> >> + </div> >> + <div class="col-11"> >> + ${StringUtil.wrapString(communicationEvent.content)?default( >> "[${uiLabelMap.EcommerceEmptyBody}]")} >> + </div> >> + </div> >> </div> >> </div> >> >> Modified: ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/Messag >> eList.ftl >> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-plugins/trunk/ecomm >> erce/template/customer/MessageList.ftl?rev=1818637&r1= >> 1818636&r2=1818637&view=diff >> ============================================================ >> ================== >> --- ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/MessageList.ftl >> (original) >> +++ ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/MessageList.ftl >> Tue Dec 19 05:52:11 2017 >> @@ -30,20 +30,21 @@ under the License. >> <#else> >> <#assign partyNameTo = "${uiLabelMap.CommonNA}"> >> </#if> >> + <tbody> >> <tr> >> <td> >> - <div>${partyNameFrom}</div> >> + ${partyNameFrom} >> </td> >> <td> >> - <div>${partyNameTo}</div> >> + ${partyNameTo} >> </td> >> <td> >> - <div>${communicationEvent.subject?default("")}</div> >> + ${communicationEvent.subject?default("N/A")} >> </td> >> <td> >> - <div>${communicationEvent.entryDate}</div> >> + ${communicationEvent.entryDate} >> </td> >> - <td align="right"> >> + <td> >> <form method="post" action="<@ofbizUrl>readmessage</@ofbizUrl>" >> name="ecomm_read_mess${index}"> >> <input name="communicationEventId" >> value="${communicationEvent.communicationEventId}" type="hidden"/> >> </form> >> @@ -56,10 +57,11 @@ under the License. >> </#if> >> </td> >> </tr> >> + </tbody> >> </#macro> >> -<div class="screenlet"> >> - <div class="screenlet-title-bar"> >> +<div class="card m-3"> >> + <div class="card-header"> >> <div class="boxlink"> >> <#if "true" == parameters.showSent!> >> <a href="<@ofbizUrl>messagelist</@ofbizUrl>" >> class="submenutextright"> >> @@ -71,37 +73,32 @@ under the License. >> </a> >> </#if> >> </div> >> - <div class="h3">${uiLabelMap.CommonMessages}</div> >> + <strong>${uiLabelMap.CommonMessages}</strong> >> </div> >> - <div class="screenlet-body"> >> - <table width="100%" border="0" cellpadding="1"> >> + <div class="card-body"> >> + <table class="table"> >> <#if (!receivedCommunicationEvents?has_content && >> !sentCommunicationEvents?has_content)> >> - <tr> >> - <td> >> - <div>${uiLabelMap.EcommerceNoMessages}.</div> >> - </td> >> - </tr> >> + <div class="alert alert-light" role="alert"> >> + ${uiLabelMap.EcommerceNoMessages}. >> + </div> >> <#else> >> - <tr> >> - <td> >> - <div class="tableheadtext">${uiLabelMap.CommonFrom}</div> >> - </td> >> - <td> >> - <div class="tableheadtext">${uiLabelMap.CommonTo}</div> >> - </td> >> - <td> >> - <div class="tableheadtext">${uiLabe >> lMap.EcommerceSubject}</div> >> - </td> >> - <td> >> - <div class="tableheadtext">${uiLabe >> lMap.EcommerceSentDate}</div> >> - </td> >> - <td> </td> >> - </tr> >> - <tr> >> - <td colspan="5"> >> - <hr/> >> - </td> >> - </tr> >> + <thead> >> + <tr> >> + <th> >> + ${uiLabelMap.CommonFrom} >> + </th> >> + <th> >> + ${uiLabelMap.CommonTo} >> + </th> >> + <th> >> + ${uiLabelMap.EcommerceSubject} >> + </th> >> + <th> >> + ${uiLabelMap.EcommerceSentDate} >> + </th> >> + <th></th> >> + </tr> >> + </thead> >> <#list receivedCommunicationEvents! as receivedCommunicationEvent> >> <@showMessage communicationEvent=receivedCommunicationEvent >> isSentMessage=false index=receivedCommunicationEve >> nt_index/> >> >> Modified: ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/NewMsg >> .ftl >> URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-plugins/trunk/ecomm >> erce/template/customer/NewMsg.ftl?rev=1818637&r1=1818636&r2= >> 1818637&view=diff >> ============================================================ >> ================== >> --- ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/NewMsg.ftl >> (original) >> +++ ofbiz/ofbiz-plugins/trunk/ecommerce/template/customer/NewMsg.ftl Tue >> Dec 19 05:52:11 2017 >> @@ -17,16 +17,16 @@ specific language governing permissions >> under the License. >> --> >> -<div class="screenlet"> >> - <div class="screenlet-title-bar"> >> +<div class="card m-3"> >> + <div class="card-header"> >> <div class="boxlink"> >> <#if "TRUE" == showMessageLinks?default("false")?upper_case> >> <a href="<@ofbizUrl>messagelist</@ofbizUrl>" >> class="submenutextright">${uiLabelMap.EcommerceViewList}</a> >> </#if> >> </div> >> - <div class="h3">${pageHeader}</div> >> + <strong>${pageHeader}</strong> >> </div> >> - <div class="screenlet-body"> >> + <div class="card-body"> >> <form name="contactus" method="post" >> action="<@ofbizUrl>${submitRequest}</@ofbizUrl>" >> style="margin: 0;"> >> <input type="hidden" name="partyIdFrom" >> value="${userLogin.partyId}"/> >> <input type="hidden" name="contactMechTypeId" >> value="WEB_ADDRESS"/> >> @@ -45,82 +45,61 @@ under the License. >> </#if> >> <input type="hidden" name="origCommEventId" value="${orgComm}"/> >> </#if> >> - <table width="100%" border='0' cellspacing='0' cellpadding='0' >> class='boxbottom'> >> - <tr> >> - <td colspan="3"> </td> >> - </tr> >> - <tr> >> - <td width="5"> </td> >> - <td align="right"> >> - <div class="tableheadtext">${uiLabelMap.CommonFrom}:</div> >> - </td> >> - <td> >> - <div> ${sessionAttributes.autoName!} >> [${userLogin.partyId}] (${uiLabelMap.CommonNotYou}? <a >> - href="<@ofbizUrl>autoLogout</@ofbizUrl>" >> class="buttontext">${uiLabelMap.CommonClickHere}</a>) >> - </div> >> - </td> >> - </tr> >> - <#if partyIdTo?has_content> >> - <#assign partyToName = >> - Static["org.apache.ofbiz.party >> .party.PartyHelper"].getPartyName(delegator, partyIdTo, true)> >> - <input type="hidden" name="partyIdTo" value="${partyIdTo}"/> >> - <tr> >> - <td colspan="3"> </td> >> - </tr> >> - <tr> >> - <td width="5"> </td> >> - <td align="right"> >> - <div class="tableheadtext">${uiLabelMap.CommonTo}:</div> >> - </td> >> - <td> >> - <div> ${partyToName}</div> >> - </td> >> - </tr> >> - </#if> >> - <tr> >> - <td colspan="3"> </td> >> - </tr> >> - <#assign defaultSubject = (communicationEvent.subject)?d >> efault("")> >> - <#if (defaultSubject?length == 0)> >> - <#assign replyPrefix = "RE: "> >> - <#if parentEvent?has_content> >> - <#if !parentEvent.subject?default(" >> ")?upper_case?starts_with(replyPrefix)> >> - <#assign defaultSubject = replyPrefix> >> - </#if> >> - <#assign defaultSubject = defaultSubject + >> parentEvent.subject?default("")> >> + <div class="row"> >> + <div class="col-1"> >> + <strong>${uiLabelMap.CommonFrom} :</strong> >> + </div> >> + <div class="col-11"> >> + ${sessionAttributes.autoName!} [${userLogin.partyId}] >> (${uiLabelMap.CommonNotYou}? <a >> + href="<@ofbizUrl>autoLogout</@ofbizUrl>" >> class="buttontext">${uiLabelMap.CommonClickHere}</a>) >> + </div> >> + </div> >> + <hr/> >> + <#if partyIdTo?has_content> >> + <#assign partyToName = >> + >> Static["org.apache.ofbiz.party.party.PartyHelper"].getPartyName(delegator, >> partyIdTo, true)> >> + <input type="hidden" name="partyIdTo" value="${partyIdTo}"/> >> + <div class="row"> >> + <div class="col-1"> >> + <strong>${uiLabelMap.CommonTo} :</strong> >> + </div> >> + <div class="col-11"> >> + ${partyToName?default("N/A")} >> + </div> >> + </div> >> + </#if> >> + <#assign defaultSubject = (communicationEvent.subject)?d >> efault("")> >> + <#if (defaultSubject?length == 0)> >> + <#assign replyPrefix = "RE: "> >> + <#if parentEvent?has_content> >> + <#if !parentEvent.subject?default(" >> ")?upper_case?starts_with(replyPrefix)> >> + <#assign defaultSubject = replyPrefix> >> </#if> >> + <#assign defaultSubject = defaultSubject + >> parentEvent.subject?default("")> >> </#if> >> - <tr> >> - <td width="5"> </td> >> - <td align="right"> >> - <div class="tableheadtext">${uiLabe >> lMap.EcommerceSubject}:</div> >> - </td> >> - <td><input type="input" class="inputBox" name="subject" >> size="20" value="${defaultSubject}"/> >> - </tr> >> - <tr> >> - <td colspan="3"> </td> >> - </tr> >> - <tr> >> - <td width="5"> </td> >> - <td align="right"> >> - <div class="tableheadtext">${uiLabe >> lMap.CommonMessage}:</div> >> - </td> >> - <td> </td> >> - </tr> >> - <tr> >> - <td colspan="2"> </td> >> - <td colspan="2"> >> - <textarea name="content" class="textAreaBox" cols="40" >> rows="5"></textarea> >> - </td> >> - </tr> >> - <tr> >> - <td colspan="3"> </td> >> - </tr> >> - <tr> >> - <td colspan="2"> </td> >> - <td><input type="submit" class="smallSubmit" >> value="${uiLabelMap.CommonSend}"/></td> >> - </tr> >> - </table> >> + </#if> >> + <div class="row"> >> + <div class="col-1"> >> + <strong>${uiLabelMap.EcommerceSubject} :</strong> >> + </div> >> + <div class="col-11"> >> + <input type="input" class="inputBox form-control >> form-control-sm" name="subject" size="20" value="${defaultSubject}"/> >> + </div> >> + </div> >> + <hr/> >> + <div class="row"> >> + <div class="col-1"> >> + <strong>${uiLabelMap.CommonMessage} :</strong> >> + </div> >> + <div class="col-11"> >> + <textarea name="content" class="textAreaBox form-control >> form-control-sm" rows="5"></textarea> >> + </div> >> + </div> >> + <div class="row"> >> + <div class="col-12"> >> + <input type="submit" class="smallSubmit btn >> btn-outline-secondary" value="${uiLabelMap.CommonSend}"/> >> + </div> >> + </div> >> </form> >> </div> >> </div> >> >> >> > >
