Simple sorting example - react-data-grid

Is there a better explanation on how to implement sorting in React-Data-Grid?
The example on the website is utterly confusing.
https://adazzle.github.io/react-data-grid/docs/examples/column-sorting
Nothing is explained, and the example deals with initialRows and the react utility funciton useState.
Why do I need to use setRows in the following example?
onGridSort={(sortColumn, sortDirection) =>
setRows(sortRows(initialRows, sortColumn, sortDirection))
}
Where does this setRows object come from? Why is useState being used in this presentational component? What is it? Where does it come from?

Related

Matlab converting library to model

I'm working on a script to convert a Simulink library to a plain model, meaning it can be simulated, it does not auto-lock etc.
Is there a way to do this with code aside from basically copy-pasting every single block into a new model? And if it isn't, what is the most efficient way to do the "copy-paste".
I was not able to find any clues as how to approach this problem here, or on Google, or on the official documentation or on the MathWorks forum so I'm at a loss on how to proceed.
Thank you in advance!
I don't think it's possible to convert a library to a model, but you can programmatically add library blocks to models like so:
sys = 'testModel';
new_system(sys);
open_system(sys);
add_block('Simulink/Sources/Sine Wave', [sys, '/MySineWave']);
save_system(sys);
close_system(sys);
sim(sys);
You could even use the find_system command to list all the blocks in a library and then loop through them all and create a new model for each using the above code.

Talend: How to get instance of a component in tjava

I want ask if there is way to get an instance of a component if a job (ex:tmap, tmysqlinput) in tjava code and then manipulate it manually using code?
Thank you
Very hazardous. Looking at the generated Java code will give you some answers (I think so).
In fact, accessing to some objects properties is possible (there is blogs and articles about this) but changing anything seems to be dangerous (IMHO).
TRF

Laravel: best way to repeatly format a date in my language (italian)

I am new to Laravel and OOP in general, trying to switch from old procedural code. I'd like to show some dates coming from my Models in my language (italian) for readability reasons: so far, that's what I did:
change 'locale' => 'it' in config/app.php file
put setlocale(LC_TIME, config('app.locale')); in routes.php file, see also my previous question
put protected $dates = ['published_at', 'expires_at']; in my Model(s) to leverage Carbon
put {{ utf8_encode($record->published_at->formatLocalized('%A %d %B %Y')) }} in my Blade view(s)
(NOTE: I MUST use utf8_encode(), otherwise dates with accented letters (lunedì, martedì, etc.) don't show up: don't know why and can't find the answer googling... is there a reason for this? Is it a Laravel or Carbon bug?)
My question is about the last point: writing that long
{{ utf8_encode($record->published_at->formatLocalized('%A %d %B %Y')) }}
piece of code every time is tedious and it would be faster (and reusable) to write
{{ formatItalian($record->published_at) }}
(Note that I need it on multiple Models, so I guess I have to avoid Accessors for a more general approach)
What's the best way to accomplish this? I read about the custom helpers functions, would this be a good approach? As I said, I'm new to Laravel switching from procedural code, and trying to use the best practices, so sorry for the dumb question...
Thanks
While you should (and I strongly encourage you to do) open up a bug to fix this in carbon you can easily extend the class and use that
As an example
use Carbon\Carbon;
class MyCarbon extends Carbon
{
public function formatItalian($format)
{
return utf8_encode($this->formatLocalized($format))
}
}
Keep in mind that this is not tested and was written just to give you a hint.

Zend_Validate good strategy to avoid repetition of code

I'm am currently building two custom validators that extends Zend_Validate_Abstract which are named respectively Lib_Validate_TimeAfter and Lib_Validate_TimeBetween. The names a pretty straight forward, the first one is used to test if a date/datetime/time comes after an other one and the second is used to test if a date/datetime/time comes between two other date/datetime/time.
Both of those validators would rely on the same method named _buildDate($value) which take a value in the form of a datestamp, a hourstamp(either hh:mm or hh:mm:ss), a timestamp or an ISO_8601 timestamp and convert it in a usable date format.
Since I dont want to repeat myself and copy/paste the method in both of my validator, I was looking for the best way to do it.
The avenues I am looking at right now would be to develop somekind of class helper that my validators would be able to use (kind of messy way of doing things since it add unessesary dependencies) or I could add an other layer of abstraction by building an other validator that validate date/datetime/time and then extend my two validators on that since I could share the method _buildDate($value), but then I don't think I would really need the validator.
So, what would be a good way (I am not really looking for the "Way of the gods" of doing thing) to structure that kind of code to avoid repetition (DRY)?
You might want to build one validator instead of two, where you can pass in a dateBefore, dateAfter which are both optional. If you pass only dateBefore, your $value will be valid if it is after that date, if you pass in both, it will have to be between them and if you pass in only dateAfter, the value will have to be before that date.
This would be flexible, clear, generic, less code and even cover one more case.
What about a class Lib_Validate_Common which extends Zend_Validate_Abstract which has your common method. And Lib_Validate_TimeAfter and Lib_Validate_TimeBetween extends Lib_Validate_Common .

How to use CTTypesetterSuggestClusterBreak in Core Text

I am having trouble in using CTTypesetterSuggestClusterBreak function of CTTypeSetterRef class. I want to use this method to get closest word boundry near an index. I am having difficult in the implementationof this method, i.e how and where this method must be used.
I have been banging my head over this but with no success yet. If anyone can help me in using this method I would be very greatful.
Thanx in advance
I'm not sure CoreText is appropriate for this task; it sounds like you should investigate CFStringTokenizer instead.