Changing colors in Kendo Scheduler - kendo-ui

I've got a Kendo Scheduler and I want to set the background of the events a different color, and achieved it partially by doing this:
Razor
#(Html.Kendo().Scheduler<MyProj.Models.MyModel>()
.Name("scheduler")
.Views(views =>
{
views.DayView();
views.WeekView();
views.MonthView(mv => mv.Selected(true));
})
.EventTemplateId("eventTemplate")
...
Javascript
<script id="eventTemplate" type="text/kendo-tmpl">
<div class='asset-task' style='color: black; background-color: #=Color#'>
#= Description #
</div>
</script>
This works great, applying a background color from the model to events nicely. However, this is valid only for the month and agenda view, leaving the events in day and week views with the default background color, same for every event.
I have found this:
.AllDayEventTemplateId("eventDayTemplate")
And it effectively works, but only for "all day" events, not for others. For example, if an event is from 9:00 to 10:00 it isn't colored accordingly to the template definition.
The intellisense doesn't show any DayEventTemplate that I assume would be used for any day event, "all day" or not.
Is there any way of achieving this?

I have tried your approach and it seems to be working just as you want, please have a look at the example I created and used your logic: demo.
The only change I have done is added a css class to override the default ".k-event" and set the background and border to none.
.k-event{
background: none;
border: none;
}
Perhaps this might solve your problem.
Alternatively there are other Options like use of resources: ref Resources ?
Another option is to update the event's div at data-bound event. This approach is explained here: data-bound event explanation
Please do let me know if above doesn't solve your issue.

Related

How to style CKEditor content for read-only display

I am using CKEditor 5 in my application for users to input documents with images, media, tables and styled text. Once the user stores the document and I pull it out again for display. In the past when I only had the most generic styling I displayed the content like this:
<div [innerHTML]="doc.text"></div>
This is an Angular application which explains the syntax used above. The problem is that the text renders but the CSS that is effective makes it looks different. For example CKEditor has a feature for the user to automatically resize an image to 50% and flow text around it. It looks really nice in the editor but when displayed as above the image reverts to full size.
My workaround for now is to invoke a ckeditor in disabled mode like this:
<ckeditor [editor]="Editor" [config]="{ toolbar: [ ] }"
[disabled]="true" [data]="doc.text"></ckeditor>
That works but I would prefer to have a solution where I don't have to import the ckeditor into components that don't need to let the user edit the document. Does anyone know how to do this?
I'd say it is not passible to have all the ckeditor features working in Angular only by using a div with innerHTML as a viewer... I was using same approach but some of the "figures" weren't shown, concretely embedded videos...
In order to have a disabled and pure read-only viewer I created a dedicated wrapper component and I used some global CSS styles to get rid of that unwanted UI behavior in this scenario.
Here is my rich text viewer component HTML, it is a ckeditor with an empty toolbar, same as in the question indeed:
<ckeditor class="ckeditor-viewer" *ngIf="isBrowser" [editor]="editor" [ngModel]="data" [config]="{ toolbar: []}" [disabled]="true"></ckeditor>
Here are some global styles that hide borders on figure hover and table handlers:
// These styles hide weird "things" in CKeditor Viewer (read only mode)
.ckeditor-viewer .ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected, .ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{
outline-width: 0;
}
.ckeditor-viewer .ck .ck-editor__nested-editable {
border: 1px solid transparent;
height: 0;
margin: 0;
}
.ckeditor-viewer .ck-content .image>figcaption{
background-color: transparent !important;
}
.ckeditor-viewer .ck .ck-widget__selection-handle{
width: 0;
height: 0;
display: none;
}
// These styles hide weird "things" in CKeditor Viewer (read only mode)
I hope it helps.

Oracle Apex 5.1: Styling the Region Title

I have created a Login page using Oracle Apex 5.1 where the region template is "Login". I want my region title to be bold and also want to increase the size of the title text. How can I achieve this?
I am sorry if this question is very noob level question. I am new to Oracle Apex and have spent several hours to achieve this. Could anyone help me solve this problem?
You can use HTML in any text fields like titels, headers, region text etc.
<p><font size="20" face="verdana" color="green"><b>This is some text!</b></font></p>
Also you can put region static ID and make custom styling with CSS (in page Inline CSS or in ThemeRoller)
Edit:
Just simple example:
I have Colapsible region with static id: reg
Region title is h2 elemnt in the Div so in inline CSS section put something like this:
#reg h2{
color:red;
font-style: bold;
font-size: 24px;
}
Change color, size, style or delete some lines until you are happy with the result.
You can use many style properties like drop shadows, font type, margins, paddings etc.
Use google search for more about CSS styling.

kendo UI window z-index

how can I remove z-index of the kendo window? I don`t want window to be modal, so I did like this .Modal(false). But of no use , window is rendering with z-index of 10003 like a popup. My intention is to render 9 windows on a same page ,put 3 windows per row in a table. Because of z-index , layout is distracting. If I can able to remove z-index, I can succeed.
#(Html.Kendo().Window()
.Name("window")
.Title("About Alvar Aalto")
.Modal(false)
.Content(#<text>
<div class="armchair">
<img src="#Url.Content("~/content/web/window/armchair-402.png")"
alt="Artek Alvar Aalto - Armchair 402" />
Artek Alvar Aalto - Armchair 402
</div>
<p>
Alvar Aalto is one of the greatest names in modern architecture and design.
Glassblowers at the iittala factory still meticulously handcraft the legendary
vases that are variations on one theme, fluid organic shapes that let the end user
ecide the use. Interpretations of the shape in new colors and materials add to the
growing Alvar Aalto Collection that remains true to his original design.
</p>
</text>)
.Draggable()
.Resizable()
.Width(600)
.Actions(actions => actions.Pin().Minimize().Maximize().Close())
)
I don't believe this can be done with the available configuration options. You could try using .Visible(false) and then manually adjust the z-index for each window to make it visible, but I imagine this would be brittle.
So I would recommend extending the window widget to create your own window type which doesn't manipulate the z-index in this way; this would keep your code encapsulated in its own class. See my answer here for some more information regarding extending kendoWindow (and a simple example). As far as I can see, the main method responsible for the z-index behavior is window.toFront(), so you'd probably have to rewrite that.
Since you plan to render the windows in a 3 by 3 grid I guess that you don't want to move or resize them and what you need from a KendoUI window is just the styling, correct? If so, you should take a look into panels styling (see KendoUI demo here) where you can style your code as a KendoUI window but, of course, you can neither move, nor hide nor resize.
You just need to use the following HTML:
<div class="k-block"><div class="k-header">Header</div>Block with header</div>
the z-index is set on the "style" property dynamically of the div.
with css all you need is an !important rule that will override styles defined on the element.
#mycontainer .k-window{
z-index: 3 !important;
}

knockout.js mouseover flicker with bound inline elements

Using knockout.js, I have mouseover and mouseout events on a containing <div>. The handlers toggle boolean observables. Within the <div> is a <p> whose visibility is bound to those booleans. i.e. rolling over the <div> reveals the <p>. The contents of the <p> are bound to observables in the model.
What I've found is that if the bound contents of <p> contains an inline element - e.g. <em> - rolling over the text within the <em> causes the <p> to flicker. The same seems to happen for any inline element. If the contents of the <p> are not bound, the issue does not occur.
I have found a workaround for my application by using JQuery's mouseenter and mouseleave events.
All 3 cases are demonstrated in this fiddle.
Is this expected behaviour, a bug or an oversight on my part? Is there a workaround that doesn't depend on the JQuery events?
(issue verified in Chrome 21.0, Safari 6.0, and FF 10.0.2 in OS X 10.7.4 and Chrome and IE in Windows 7)
This is just the difference between mouseleave and mouseout, and is expected behaviour. This is outlined in this article here: http://www.mkyong.com/jquery/different-between-mouseout-and-mouseleave-in-jquery/
If I were to do this, I would do it with css. Unless you need to really know something or perform advanced actions/operations based on mouse hover, you can control basic visibility very easily (knockout not necessary in demo):
http://jsfiddle.net/WLShQ/
HTML:
<div class="hoverbox">
<p>Mouse over here...</p>
<p class="extra">Then roll over <em>this red text</em></p>
<p class="extra">It doesn't flicker!</p>
</div>
And the css
div.hoverbox p.extra {
display: none;
}
div.hoverbox:hover p.extra {
display: block;
}

JQTransform and reCAPTCHA not playing nice

The Problem:
I am working on a site where I wanted to use JQTransform to quickly get a good looking form for a contact page. Also, to avoid the customer getting junk, I decided to add reCAPTCHA. I ran into the issue of JQTransform styles for the textbox causing the elements in the reCAPTCHA to be displaced.
It seemed like the type of problem that would have a simple fix but I struggled with it for a while.
I tried the solution at:
JQTransform - Exclude an element from styling?
This did not solve the issue, nor did a few other answers to the "How do you make JQTransform stop JQTransforming an element?" question.
What has produced usable results is adding:
<script type="text/javascript">
var RecaptchaOptions = {
theme: 'clean'
};
</script>
This changes the reCAPTCHA to a format that looks better in the form anyway. But it leaves 2 textbox styles. One that is your normal default textbox and another underneath that is the JQTransform rounded corner, light blue on hover/focus textbox.
Then I added:
$(function () {
$( "#recaptcha_response_field" ).attr('style', 'border: 0px; padding: 5px; solid #3c3c3c; width: 302px;');
});
and this alters the style that reCAPTCHA has for the textbox. Now the textbox looks like the other inputs of the form. I am pretty happy with the result.
(I know you're now asking: "Then why are you here?")
The Question:
Is there a way to have JQTransform ignore any input,checkbox,etc that is in the <form></form> by wrapping those in a div?
If I want to use JQTransform with some other plug-in in the future I would like to be able to just drop it in to a div like:
<div class="donot-jqtransform">
<?php
echo printCaptchaPlugin();
?>
</div>
or
<div class="donot-jqtransform">
<%= PrintPasswordValidationPlugin() >
</div>
That way I don't have to worry about what the code brings into the form and it will work and look as intended. That's the idea of having the abstraction in the first place, right? So if I want to switch out reCAPTCHA with another option, all I do is replace code in the printCaptchaPlugin() function and all should be bacon(good) for any form that uses it.
well i've made a new library - csTransPie – basing it on jqtransform – jqtransform is a great library but it really has many problems
I'm creating regular input fields (css styled) and you won't have those problems
https://github.com/pkoretic/csTransPie
It’s a work in progress but even now it’s better than jqtransform (more than half of the css rewritten, many bugs solved, clean css…)
now you can use it per element with just one class!
all suggestions are welcome!
Sorry if it's bad form to pile in on an old answered question, but I found this as I had the same problem.
I didn't want to add another library to my project, so I amended the jqtransform.js to include this line in the TextArea handler (line 221-ish)
if (textarea.parents().hasClass('jqTransformIgnore')) { return; }
I then just had to add the jqtransformIgnore class to the recaptcha div...
<div class="g-recaptcha jqTransformIgnore" data-sitekey="blahblahblah"></div>
... and that did the trick!

Resources